Add low blur and AAClip options to picture bench.

Copy the settings instead of pointing to the
original set on the stack.
Review URL: https://codereview.appspot.com/6818103

git-svn-id: http://skia.googlecode.com/svn/trunk@6330 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tools/PictureRenderer.cpp b/tools/PictureRenderer.cpp
index 59ba680..84b67d8 100644
--- a/tools/PictureRenderer.cpp
+++ b/tools/PictureRenderer.cpp
@@ -59,11 +59,17 @@
 
     virtual void filter(SkPaint* paint, Type t) {
         paint->setFlags(paint->getFlags() & ~fFlags[t] & SkPaint::kAllFlags);
-        if (PictureRenderer::kBlur_DrawFilterFlag & fFlags[t]) {
+        if ((PictureRenderer::kBlur_DrawFilterFlag | PictureRenderer::kLowBlur_DrawFilterFlag)
+                & fFlags[t]) {
             SkMaskFilter* maskFilter = paint->getMaskFilter();
             SkMaskFilter::BlurInfo blurInfo;
             if (maskFilter && maskFilter->asABlur(&blurInfo)) {
-                paint->setMaskFilter(NULL);
+                if (PictureRenderer::kBlur_DrawFilterFlag & fFlags[t]) {
+                    paint->setMaskFilter(NULL);
+                } else {
+                    blurInfo.fHighQuality = false;
+                    maskFilter->setAsABlur(blurInfo);
+                }
             }
         }
         if (PictureRenderer::kHinting_DrawFilterFlag & fFlags[t]) {
@@ -80,6 +86,9 @@
 static SkCanvas* setUpFilter(SkCanvas* canvas, PictureRenderer::DrawFilterFlags* drawFilters) {
     if (drawFilters && !canvas->getDrawFilter()) {
         canvas->setDrawFilter(SkNEW_ARGS(FlagsDrawFilter, (drawFilters)))->unref();
+        if (drawFilters[0] & PictureRenderer::kAAClip_DrawFilterFlag) {
+            canvas->setAllowSoftClip(false);
+        }
     }
     return canvas;
 }