| Index: src/gpu/GrPathRenderer.h
|
| diff --git a/src/gpu/GrPathRenderer.h b/src/gpu/GrPathRenderer.h
|
| index 4d38aa064d64b3943b20fb17a3de3dea249db351..6f087b4434f40136b72d24d98c1cd25f65598174 100644
|
| --- a/src/gpu/GrPathRenderer.h
|
| +++ b/src/gpu/GrPathRenderer.h
|
| @@ -94,15 +94,18 @@ public:
|
| * caller to fallback to another path renderer This function is called when searching for a path
|
| * renderer capable of rendering a path.
|
| *
|
| + * @param target The target that the path will be rendered to
|
| + * @param drawState The drawState
|
| + * @param viewMatrix The viewMatrix
|
| * @param path The path to draw
|
| * @param stroke The stroke information (width, join, cap)
|
| - * @param target The target that the path will be rendered to
|
| * @param antiAlias True if anti-aliasing is required.
|
| *
|
| * @return true if the path can be drawn by this object, false otherwise.
|
| */
|
| virtual bool canDrawPath(const GrDrawTarget* target,
|
| const GrDrawState* drawState,
|
| + const SkMatrix& viewMatrix,
|
| const SkPath& path,
|
| const SkStrokeRec& rec,
|
| bool antiAlias) const = 0;
|
| @@ -110,23 +113,26 @@ public:
|
| * Draws the path into the draw target. If getStencilSupport() would return kNoRestriction then
|
| * the subclass must respect the stencil settings of the target's draw state.
|
| *
|
| + * @param target The target that the path will be rendered to
|
| + * @param drawState The drawState
|
| + * @param viewMatrix The viewMatrix
|
| * @param path the path to draw.
|
| * @param stroke the stroke information (width, join, cap)
|
| - * @param target target that the path will be rendered to
|
| * @param antiAlias true if anti-aliasing is required.
|
| */
|
| bool drawPath(GrDrawTarget* target,
|
| GrDrawState* ds,
|
| GrColor color,
|
| + const SkMatrix& viewMatrix,
|
| const SkPath& path,
|
| const SkStrokeRec& stroke,
|
| bool antiAlias) {
|
| SkASSERT(!path.isEmpty());
|
| - SkASSERT(this->canDrawPath(target, ds, path, stroke, antiAlias));
|
| + SkASSERT(this->canDrawPath(target, ds, viewMatrix, path, stroke, antiAlias));
|
| SkASSERT(ds->getStencil().isDisabled() ||
|
| kNoRestriction_StencilSupport == this->getStencilSupport(target, ds, path,
|
| stroke));
|
| - return this->onDrawPath(target, ds, color, path, stroke, antiAlias);
|
| + return this->onDrawPath(target, ds, color, viewMatrix, path, stroke, antiAlias);
|
| }
|
|
|
| /**
|
| @@ -139,11 +145,12 @@ public:
|
| */
|
| void stencilPath(GrDrawTarget* target,
|
| GrDrawState* ds,
|
| + const SkMatrix& viewMatrix,
|
| const SkPath& path,
|
| const SkStrokeRec& stroke) {
|
| SkASSERT(!path.isEmpty());
|
| SkASSERT(kNoSupport_StencilSupport != this->getStencilSupport(target, ds, path, stroke));
|
| - this->onStencilPath(target, ds, path, stroke);
|
| + this->onStencilPath(target, ds, viewMatrix, path, stroke);
|
| }
|
|
|
| // Helper for determining if we can treat a thin stroke as a hairline w/ coverage.
|
| @@ -177,6 +184,7 @@ protected:
|
| virtual bool onDrawPath(GrDrawTarget*,
|
| GrDrawState*,
|
| GrColor,
|
| + const SkMatrix& viewMatrix,
|
| const SkPath&,
|
| const SkStrokeRec&,
|
| bool antiAlias) = 0;
|
| @@ -187,6 +195,7 @@ protected:
|
| */
|
| virtual void onStencilPath(GrDrawTarget* target,
|
| GrDrawState* drawState,
|
| + const SkMatrix& viewMatrix,
|
| const SkPath& path,
|
| const SkStrokeRec& stroke) {
|
| GR_STATIC_CONST_SAME_STENCIL(kIncrementStencil,
|
| @@ -198,7 +207,7 @@ protected:
|
| 0xffff);
|
| drawState->setStencil(kIncrementStencil);
|
| drawState->setDisableColorXPFactory();
|
| - this->drawPath(target, drawState, GrColor_WHITE, path, stroke, false);
|
| + this->drawPath(target, drawState, GrColor_WHITE, viewMatrix, path, stroke, false);
|
| }
|
|
|
| // Helper for getting the device bounds of a path. Inverse filled paths will have bounds set
|
|
|