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 14 class GrContext; 15 class 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 */ 21 class GrStencilAndCoverPathRenderer : public GrPathRenderer { 22 public: 23 24 static GrPathRenderer* Create(GrResourceProvider*, const GrCaps&); 25 26 27 private: onGetStencilSupport(const SkPath &,const GrStrokeInfo &)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