diff options
Diffstat (limited to 'src/gpu/ops/GrDefaultPathRenderer.h')
-rw-r--r-- | src/gpu/ops/GrDefaultPathRenderer.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/gpu/ops/GrDefaultPathRenderer.h b/src/gpu/ops/GrDefaultPathRenderer.h new file mode 100644 index 0000000000..8e192478b1 --- /dev/null +++ b/src/gpu/ops/GrDefaultPathRenderer.h @@ -0,0 +1,48 @@ +/* + * Copyright 2011 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef GrDefaultPathRenderer_DEFINED +#define GrDefaultPathRenderer_DEFINED + +#include "GrPathRenderer.h" +#include "GrPathStencilSettings.h" +#include "SkTypes.h" + +/** + * Subclass that renders the path using the stencil buffer to resolve fill rules + * (e.g. winding, even-odd) + */ +class SK_API GrDefaultPathRenderer : public GrPathRenderer { +public: + GrDefaultPathRenderer(bool separateStencilSupport, bool stencilWrapOpsSupport); + +private: + + StencilSupport onGetStencilSupport(const GrShape&) const override; + + bool onCanDrawPath(const CanDrawPathArgs&) const override; + + bool onDrawPath(const DrawPathArgs&) override; + + void onStencilPath(const StencilPathArgs&) override; + + bool internalDrawPath(GrRenderTargetContext*, + const GrPaint&, + GrAAType, + const GrUserStencilSettings&, + const GrClip&, + const SkMatrix& viewMatrix, + const GrShape&, + bool stencilOnly); + + bool fSeparateStencil; + bool fStencilWrapOps; + + typedef GrPathRenderer INHERITED; +}; + +#endif |