Index: src/gpu/GrGpu.h |
diff --git a/src/gpu/GrGpu.h b/src/gpu/GrGpu.h |
index 611b7a51fe3f55ebf85f9ab602351f380e690bdc..a657d17c5c33d3cc2fd22f3e6d39d98c42bf880a 100644 |
--- a/src/gpu/GrGpu.h |
+++ b/src/gpu/GrGpu.h |
@@ -303,7 +303,6 @@ public: |
kDrawPoints_DrawType, |
kDrawLines_DrawType, |
kDrawTriangles_DrawType, |
- kStencilPath_DrawType, |
kDrawPath_DrawType, |
kDrawPaths_DrawType, |
}; |
@@ -358,7 +357,18 @@ public: |
const SkIPoint& dstPoint) = 0; |
void draw(const GrOptDrawState&, const GrDrawTarget::DrawInfo&); |
- void stencilPath(const GrOptDrawState&, const GrPath*, const GrStencilSettings&); |
+ |
+ /** None of these params are optional, pointers used just to avoid making copies. */ |
+ struct StencilPathState { |
+ bool fUseHWAA; |
+ GrRenderTarget* fRenderTarget; |
+ const SkMatrix* fViewMatrix; |
+ const GrStencilSettings* fStencil; |
+ const GrScissorState* fScissor; |
+ }; |
+ |
+ void stencilPath(const GrPath*, const StencilPathState&); |
+ |
void drawPath(const GrOptDrawState&, const GrPath*, const GrStencilSettings&); |
void drawPaths(const GrOptDrawState&, |
const GrPathRange*, |
@@ -436,7 +446,8 @@ private: |
// overridden by backend-specific derived class to perform the draw call. |
virtual void onDraw(const GrOptDrawState&, const GrDrawTarget::DrawInfo&) = 0; |
- virtual void onStencilPath(const GrOptDrawState&, const GrPath*, const GrStencilSettings&) = 0; |
+ virtual void onStencilPath(const GrPath*, const StencilPathState&) = 0; |
+ |
virtual void onDrawPath(const GrOptDrawState&, const GrPath*, const GrStencilSettings&) = 0; |
virtual void onDrawPaths(const GrOptDrawState&, |
const GrPathRange*, |