Stateful PathRenderer implementation

https://codereview.chromium.org/23926019/



git-svn-id: http://skia.googlecode.com/svn/trunk@13384 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrSoftwarePathRenderer.cpp b/src/gpu/GrSoftwarePathRenderer.cpp
index d0936d6..61711c0 100644
--- a/src/gpu/GrSoftwarePathRenderer.cpp
+++ b/src/gpu/GrSoftwarePathRenderer.cpp
@@ -11,8 +11,7 @@
 #include "GrSWMaskHelper.h"
 
 ////////////////////////////////////////////////////////////////////////////////
-bool GrSoftwarePathRenderer::canDrawPath(const SkPath&,
-                                         const SkStrokeRec&,
+bool GrSoftwarePathRenderer::canDrawPath(const SkStrokeRec&,
                                          const GrDrawTarget*,
                                          bool antiAlias) const {
     if (!antiAlias || NULL == fContext) {
@@ -29,7 +28,6 @@
 }
 
 GrPathRenderer::StencilSupport GrSoftwarePathRenderer::onGetStencilSupport(
-    const SkPath&,
     const SkStrokeRec&,
     const GrDrawTarget*) const {
     return GrPathRenderer::kNoSupport_StencilSupport;
@@ -113,8 +111,7 @@
 
 ////////////////////////////////////////////////////////////////////////////////
 // return true on success; false on failure
-bool GrSoftwarePathRenderer::onDrawPath(const SkPath& path,
-                                        const SkStrokeRec& stroke,
+bool GrSoftwarePathRenderer::onDrawPath(const SkStrokeRec& stroke,
                                         GrDrawTarget* target,
                                         bool antiAlias) {
 
@@ -127,16 +124,16 @@
     SkMatrix vm = drawState->getViewMatrix();
 
     SkIRect devPathBounds, devClipBounds;
-    if (!get_path_and_clip_bounds(target, path, vm,
+    if (!get_path_and_clip_bounds(target, this->path(), vm,
                                   &devPathBounds, &devClipBounds)) {
-        if (path.isInverseFillType()) {
+        if (this->path().isInverseFillType()) {
             draw_around_inv_path(target, devClipBounds, devPathBounds);
         }
         return true;
     }
 
     SkAutoTUnref<GrTexture> texture(
-            GrSWMaskHelper::DrawPathMaskToTexture(fContext, path, stroke,
+            GrSWMaskHelper::DrawPathMaskToTexture(fContext, this->path(), stroke,
                                                   devPathBounds,
                                                   antiAlias, &vm));
     if (NULL == texture) {
@@ -145,7 +142,7 @@
 
     GrSWMaskHelper::DrawToTargetWithPathMask(texture, target, devPathBounds);
 
-    if (path.isInverseFillType()) {
+    if (this->path().isInverseFillType()) {
         draw_around_inv_path(target, devClipBounds, devPathBounds);
     }