Home | History | Annotate | Download | only in gpu
      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