Altered Ganesh's clip stack plumbing to pass down new GrClipData class

http://codereview.appspot.com/6454047/



git-svn-id: http://skia.googlecode.com/svn/trunk@4788 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrTextContext.cpp b/src/gpu/GrTextContext.cpp
index 86b73f8..36e6646 100644
--- a/src/gpu/GrTextContext.cpp
+++ b/src/gpu/GrTextContext.cpp
@@ -85,17 +85,19 @@
         fExtMatrix.reset();
     }
 
+    const GrClipData* clipData = context->getClip();
+
+    GrRect conservativeBound = clipData->fClipStack->getConservativeBounds();
+
     if (!fExtMatrix.isIdentity()) {
         GrMatrix inverse;
-        GrRect r = context->getClip().getConservativeBounds();
         if (fExtMatrix.invert(&inverse)) {
-            inverse.mapRect(&r);
-            r.roundOut(&fClipRect);
+            inverse.mapRect(&conservativeBound);
         }
-    } else {
-        context->getClip().getConservativeBounds().roundOut(&fClipRect);
     }
 
+    conservativeBound.roundOut(&fClipRect);
+
     // save the context's original matrix off and restore in destructor
     // this must be done before getTextTarget.
     fOrigViewMatrix = fContext->getMatrix();