1 2/* 3 * Copyright 2012 Google Inc. 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9#ifndef GrBuiltInPathRenderer_DEFINED 10#define GrBuiltInPathRenderer_DEFINED 11 12#include "GrPathRenderer.h" 13 14class GrContext; 15class GrGpu; 16 17/** 18 * Uses GrGpu::stencilPath followed by a cover rectangle. This subclass doesn't apply AA; it relies 19 * on the target having MSAA if AA is desired. 20 */ 21class GrStencilAndCoverPathRenderer : public GrPathRenderer { 22public: 23 24 static GrPathRenderer* Create(GrResourceProvider*, const GrCaps&); 25 26 27private: 28 StencilSupport onGetStencilSupport(const SkPath&, const GrStrokeInfo&) const override { 29 return GrPathRenderer::kStencilOnly_StencilSupport; 30 } 31 32 bool onCanDrawPath(const CanDrawPathArgs&) const override; 33 34 bool onDrawPath(const DrawPathArgs&) override; 35 36 void onStencilPath(const StencilPathArgs&) override; 37 38 GrStencilAndCoverPathRenderer(GrResourceProvider*); 39 40 GrResourceProvider* fResourceProvider; 41 42 typedef GrPathRenderer INHERITED; 43}; 44 45#endif 46