Use GrAARectRenderer in GPU AA clip mask generation

http://codereview.appspot.com/6300097/



git-svn-id: http://skia.googlecode.com/svn/trunk@4261 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrClipMaskManager.cpp b/src/gpu/GrClipMaskManager.cpp
index 28ce46d..1cb9dc4 100644
--- a/src/gpu/GrClipMaskManager.cpp
+++ b/src/gpu/GrClipMaskManager.cpp
@@ -96,31 +96,14 @@
             useSW = false;
         }
 
-        if (kRect_ClipType == clipIn.getElementType(i)) {
-            // Non-anti-aliased rects can always be drawn directly (w/o 
-            // using the software path) so the anti-aliased rects are all 
-            // that need to be checked here
-            if (clipIn.getDoAA(i)) {
-                // Antialiased rects are converted to paths and then drawn with
-                // kEvenOdd_GrPathFill. 
-
-                // TODO: wrap GrContext::fillAARect in a helper class and
-                // draw AA rects directly rather than converting to paths
-                SkPath temp;
-                temp.addRect(clipIn.getRect(i));	
-
-                if (path_needs_SW_renderer(this->getContext(), gpu, temp,
-                                           kEvenOdd_GrPathFill, true)) {
-                    useSW = true;
-                }
-            }
-        } else {
-            if (path_needs_SW_renderer(this->getContext(), gpu, 
-                                       clipIn.getPath(i), 
-                                       clipIn.getPathFill(i), 
-                                       clipIn.getDoAA(i))) {
-                useSW = true;
-            }
+        // rects can always be drawn directly w/o using the software path
+        // so only paths need to be checked
+        if (kPath_ClipType == clipIn.getElementType(i) &&
+            path_needs_SW_renderer(this->getContext(), gpu, 
+                                    clipIn.getPath(i), 
+                                    clipIn.getPathFill(i), 
+                                    clipIn.getDoAA(i))) {
+            useSW = true;
         }
     }
 
@@ -414,12 +397,9 @@
 
     if (kRect_ClipType == clipIn.getElementType(index)) {
         if (clipIn.getDoAA(index)) {
-            // convert the rect to a path for AA
-            SkPath temp;
-            temp.addRect(clipIn.getRect(index));
-
-            return draw_path(this->getContext(), gpu, temp,
-                             kEvenOdd_GrPathFill, clipIn.getDoAA(index));
+            getContext()->getAARectRenderer()->fillAARect(gpu, gpu,
+                                                          clipIn.getRect(index), 
+                                                          true);
         } else {
             gpu->drawSimpleRect(clipIn.getRect(index), NULL, 0);
         }