1 /* 2 * Copyright 2015 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef GrTessellatingPathRenderer_DEFINED 9 #define GrTessellatingPathRenderer_DEFINED 10 11 #include "GrPathRenderer.h" 12 13 /** 14 * Subclass that renders the path by converting to screen-space trapezoids plus 15 * extra 1-pixel geometry for AA. 16 */ 17 class SK_API GrTessellatingPathRenderer : public GrPathRenderer { 18 public: 19 GrTessellatingPathRenderer(); 20 21 bool canDrawPath(const GrDrawTarget*, 22 const GrPipelineBuilder*, 23 const SkMatrix&, 24 const SkPath&, 25 const GrStrokeInfo&, 26 bool antiAlias) const override; 27 protected: 28 29 StencilSupport onGetStencilSupport(const GrDrawTarget*, 30 const GrPipelineBuilder*, 31 const SkPath&, 32 const GrStrokeInfo&) const override; 33 34 bool onDrawPath(GrDrawTarget*, 35 GrPipelineBuilder*, 36 GrColor, 37 const SkMatrix& viewMatrix, 38 const SkPath&, 39 const GrStrokeInfo&, 40 bool antiAlias) override; 41 42 typedef GrPathRenderer INHERITED; 43 }; 44 45 #endif 46