| Index: src/gpu/GrDefaultPathRenderer.cpp
|
| ===================================================================
|
| --- src/gpu/GrDefaultPathRenderer.cpp (revision 13379)
|
| +++ src/gpu/GrDefaultPathRenderer.cpp (working copy)
|
| @@ -163,10 +163,9 @@
|
| }
|
|
|
| GrPathRenderer::StencilSupport GrDefaultPathRenderer::onGetStencilSupport(
|
| - const SkPath& path,
|
| const SkStrokeRec& stroke,
|
| const GrDrawTarget*) const {
|
| - if (single_pass_path(path, stroke)) {
|
| + if (single_pass_path(this->path(), stroke)) {
|
| return GrPathRenderer::kNoRestriction_StencilSupport;
|
| } else {
|
| return GrPathRenderer::kStencilOnly_StencilSupport;
|
| @@ -325,8 +324,7 @@
|
| return true;
|
| }
|
|
|
| -bool GrDefaultPathRenderer::internalDrawPath(const SkPath& path,
|
| - const SkStrokeRec& origStroke,
|
| +bool GrDefaultPathRenderer::internalDrawPath(const SkStrokeRec& origStroke,
|
| GrDrawTarget* target,
|
| bool stencilOnly) {
|
|
|
| @@ -346,13 +344,13 @@
|
| }
|
|
|
| SkScalar tol = SK_Scalar1;
|
| - tol = GrPathUtils::scaleToleranceToSrc(tol, viewM, path.getBounds());
|
| + tol = GrPathUtils::scaleToleranceToSrc(tol, viewM, this->path().getBounds());
|
|
|
| int vertexCnt;
|
| int indexCnt;
|
| GrPrimitiveType primType;
|
| GrDrawTarget::AutoReleaseGeometry arg;
|
| - if (!this->createGeom(path,
|
| + if (!this->createGeom(this->path(),
|
| *stroke,
|
| tol,
|
| target,
|
| @@ -386,7 +384,7 @@
|
| lastPassIsBounds = false;
|
| drawFace[0] = GrDrawState::kBoth_DrawFace;
|
| } else {
|
| - if (single_pass_path(path, *stroke)) {
|
| + if (single_pass_path(this->path(), *stroke)) {
|
| passCount = 1;
|
| if (stencilOnly) {
|
| passes[0] = &gDirectToStencil;
|
| @@ -396,7 +394,7 @@
|
| drawFace[0] = GrDrawState::kBoth_DrawFace;
|
| lastPassIsBounds = false;
|
| } else {
|
| - switch (path.getFillType()) {
|
| + switch (this->path().getFillType()) {
|
| case SkPath::kInverseEvenOdd_FillType:
|
| reverse = true;
|
| // fallthrough
|
| @@ -463,7 +461,7 @@
|
| }
|
|
|
| SkRect devBounds;
|
| - GetPathDevBounds(path, drawState->getRenderTarget(), viewM, &devBounds);
|
| + GetPathDevBounds(this->path(), drawState->getRenderTarget(), viewM, &devBounds);
|
|
|
| for (int p = 0; p < passCount; ++p) {
|
| drawState->setDrawFace(drawFace[p]);
|
| @@ -490,7 +488,7 @@
|
| avmr.setIdentity(drawState);
|
| }
|
| } else {
|
| - bounds = path.getBounds();
|
| + bounds = this->path().getBounds();
|
| }
|
| GrDrawTarget::AutoGeometryAndStatePush agasp(target, GrDrawTarget::kPreserve_ASRInit);
|
| target->drawSimpleRect(bounds, NULL);
|
| @@ -509,8 +507,7 @@
|
| return true;
|
| }
|
|
|
| -bool GrDefaultPathRenderer::canDrawPath(const SkPath& path,
|
| - const SkStrokeRec& stroke,
|
| +bool GrDefaultPathRenderer::canDrawPath(const SkStrokeRec& stroke,
|
| const GrDrawTarget* target,
|
| bool antiAlias) const {
|
| // this class can draw any path with any fill but doesn't do any anti-aliasing.
|
| @@ -520,20 +517,15 @@
|
| IsStrokeHairlineOrEquivalent(stroke, target->getDrawState().getViewMatrix(), NULL));
|
| }
|
|
|
| -bool GrDefaultPathRenderer::onDrawPath(const SkPath& path,
|
| - const SkStrokeRec& stroke,
|
| +bool GrDefaultPathRenderer::onDrawPath(const SkStrokeRec& stroke,
|
| GrDrawTarget* target,
|
| bool antiAlias) {
|
| - return this->internalDrawPath(path,
|
| - stroke,
|
| - target,
|
| - false);
|
| + return this->internalDrawPath(stroke, target, false);
|
| }
|
|
|
| -void GrDefaultPathRenderer::onStencilPath(const SkPath& path,
|
| - const SkStrokeRec& stroke,
|
| +void GrDefaultPathRenderer::onStencilPath(const SkStrokeRec& stroke,
|
| GrDrawTarget* target) {
|
| - SkASSERT(SkPath::kInverseEvenOdd_FillType != path.getFillType());
|
| - SkASSERT(SkPath::kInverseWinding_FillType != path.getFillType());
|
| - this->internalDrawPath(path, stroke, target, true);
|
| + SkASSERT(SkPath::kInverseEvenOdd_FillType != this->path().getFillType());
|
| + SkASSERT(SkPath::kInverseWinding_FillType != this->path().getFillType());
|
| + this->internalDrawPath(stroke, target, true);
|
| }
|
|
|