Index: src/gpu/GrPathRendererChain.h |
diff --git a/include/gpu/GrPathRendererChain.h b/src/gpu/GrPathRendererChain.h |
similarity index 78% |
rename from include/gpu/GrPathRendererChain.h |
rename to src/gpu/GrPathRendererChain.h |
index 98441cec1590478cc217b9e15abddbbfa4facce6..e0e7d46f0619cabd318c71a96e718fa27dc29ff8 100644 |
--- a/include/gpu/GrPathRendererChain.h |
+++ b/src/gpu/GrPathRendererChain.h |
@@ -8,11 +8,12 @@ |
#ifndef GrPathRendererChain_DEFINED |
#define GrPathRendererChain_DEFINED |
+#include "GrPathRenderer.h" |
+ |
#include "SkRefCnt.h" |
#include "SkTArray.h" |
class GrContext; |
-class GrPathRenderer; |
class GrPipelineBuilder; |
class GrShaderCaps; |
class GrStrokeInfo; |
@@ -27,20 +28,10 @@ class SkPath; |
*/ |
class GrPathRendererChain : public SkRefCnt { |
public: |
- // See comments in GrPathRenderer.h |
- enum StencilSupport { |
- kNoSupport_StencilSupport, |
- kStencilOnly_StencilSupport, |
- kNoRestriction_StencilSupport, |
- }; |
- |
GrPathRendererChain(GrContext* context); |
~GrPathRendererChain(); |
- // takes a ref and unrefs in destructor |
- GrPathRenderer* addPathRenderer(GrPathRenderer* pr); |
- |
/** Documents how the caller plans to use a GrPathRenderer to draw a path. It affects the PR |
returned by getPathRenderer */ |
enum DrawType { |
@@ -51,21 +42,21 @@ public: |
kStencilAndColorAntiAlias_DrawType // draw the stencil and color buffer, with partial |
// coverage AA. |
}; |
+ |
/** Returns a GrPathRenderer compatible with the request if one is available. If the caller |
is drawing the path to the stencil buffer then stencilSupport can be used to determine |
whether the path can be rendered with arbitrary stencil rules or not. See comments on |
StencilSupport in GrPathRenderer.h. */ |
- GrPathRenderer* getPathRenderer(const GrShaderCaps* shaderCaps, |
- const GrPipelineBuilder&, |
- const SkMatrix& viewMatrix, |
- const SkPath& path, |
- const GrStrokeInfo& stroke, |
+ GrPathRenderer* getPathRenderer(const GrPathRenderer::CanDrawPathArgs& args, |
DrawType drawType, |
- StencilSupport* stencilSupport); |
+ GrPathRenderer::StencilSupport* stencilSupport); |
private: |
GrPathRendererChain(); |
+ // takes a ref and unrefs in destructor |
+ GrPathRenderer* addPathRenderer(GrPathRenderer* pr); |
+ |
void init(); |
enum { |