remove experimental setAsABlur, as it forces the instance to be mutable, and was
authorreed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 18 Dec 2012 18:20:44 +0000 (18:20 +0000)
committerreed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 18 Dec 2012 18:20:44 +0000 (18:20 +0000)
not adopted by chrome
Review URL: https://codereview.appspot.com/6939071

git-svn-id: http://skia.googlecode.com/svn/trunk@6879 2bbb7eff-a529-9590-31e7-b0007b416f81

include/core/SkMaskFilter.h
src/core/SkMaskFilter.cpp
src/effects/SkBlurMaskFilter.cpp
tools/PictureRenderer.cpp
tools/PictureRenderer.h
tools/bench_pictures_main.cpp

index 3060e2f..02f5855 100644 (file)
@@ -81,14 +81,6 @@ public:
     virtual BlurType asABlur(BlurInfo*) const;
 
     /**
-     * TEMPORARY HACK -- SkMaskFilters are designed to be immutable
-     * Optional method for maskfilters that can be described as a blur. If so,
-     * set the current blur to respect the [radius / ignore-transform /
-     * quality] settings.
-     */
-    virtual void setAsABlur(const BlurInfo& );
-
-    /**
      * The fast bounds function is used to enable the paint to be culled early
      * in the drawing pipeline. This function accepts the current bounds of the
      * paint as its src param and the filter adjust those bounds using its
index c4a7346..eef2139 100644 (file)
@@ -262,9 +262,6 @@ SkMaskFilter::BlurType SkMaskFilter::asABlur(BlurInfo*) const {
     return kNone_BlurType;
 }
 
-void SkMaskFilter::setAsABlur(const BlurInfo& ) {
-}
-
 void SkMaskFilter::computeFastBounds(const SkRect& src, SkRect* dst) {
     SkMask  srcM, dstM;
 
index 98ea4f5..a3991ca 100644 (file)
@@ -21,7 +21,6 @@ public:
     virtual bool filterMask(SkMask* dst, const SkMask& src, const SkMatrix&,
                             SkIPoint* margin) SK_OVERRIDE;
     virtual BlurType asABlur(BlurInfo*) const SK_OVERRIDE;
-    virtual void setAsABlur(const BlurInfo&) SK_OVERRIDE;
     virtual void computeFastBounds(const SkRect& src, SkRect* dst) SK_OVERRIDE;
 
     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBlurMaskFilterImpl)
@@ -287,14 +286,6 @@ SkMaskFilter::BlurType SkBlurMaskFilterImpl::asABlur(BlurInfo* info) const {
     return gBlurStyle2BlurType[fBlurStyle];
 }
 
-void SkBlurMaskFilterImpl::setAsABlur(const BlurInfo& info) {
-    fRadius = info.fRadius;
-    fBlurFlags = (fBlurFlags & ~(SkBlurMaskFilter::kIgnoreTransform_BlurFlag
-                                 | SkBlurMaskFilter::kHighQuality_BlurFlag))
-            | (info.fIgnoreTransform ? SkBlurMaskFilter::kIgnoreTransform_BlurFlag : 0)
-            | (info.fHighQuality ? SkBlurMaskFilter::kHighQuality_BlurFlag : 0);
-}
-
 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkBlurMaskFilter)
     SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurMaskFilterImpl)
 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END
index 102216d..ab87274 100644 (file)
@@ -62,17 +62,11 @@ public:
 
     virtual bool filter(SkPaint* paint, Type t) {
         paint->setFlags(paint->getFlags() & ~fFlags[t] & SkPaint::kAllFlags);
-        if ((PictureRenderer::kBlur_DrawFilterFlag | PictureRenderer::kLowBlur_DrawFilterFlag)
-                & fFlags[t]) {
+        if (PictureRenderer::kBlur_DrawFilterFlag & fFlags[t]) {
             SkMaskFilter* maskFilter = paint->getMaskFilter();
             SkMaskFilter::BlurInfo blurInfo;
             if (maskFilter && maskFilter->asABlur(&blurInfo)) {
-                if (PictureRenderer::kBlur_DrawFilterFlag & fFlags[t]) {
-                    paint->setMaskFilter(NULL);
-                } else {
-                    blurInfo.fHighQuality = false;
-                    maskFilter->setAsABlur(blurInfo);
-                }
+                paint->setMaskFilter(NULL);
             }
         }
         if (PictureRenderer::kHinting_DrawFilterFlag & fFlags[t]) {
index ada7bd4..262e899 100644 (file)
@@ -55,10 +55,9 @@ public:
     enum DrawFilterFlags {
         kNone_DrawFilterFlag = 0,
         kBlur_DrawFilterFlag = 0x4000, // toggles between blur and no blur
-        kLowBlur_DrawFilterFlag = 0x8000, // toggles between low and high quality blur
-        kHinting_DrawFilterFlag = 0x10000, // toggles between no hinting and normal hinting
-        kSlightHinting_DrawFilterFlag = 0x20000, // toggles between slight and normal hinting
-        kAAClip_DrawFilterFlag = 0x40000, // toggles between soft and hard clip
+        kHinting_DrawFilterFlag = 0x8000, // toggles between no hinting and normal hinting
+        kSlightHinting_DrawFilterFlag = 0x10000, // toggles between slight and normal hinting
+        kAAClip_DrawFilterFlag = 0x20000, // toggles between soft and hard clip
     };
 
     SK_COMPILE_ASSERT(!(kBlur_DrawFilterFlag & SkPaint::kAllFlags), blur_flag_must_be_greater);
index 3e3bc33..65fc42a 100644 (file)
@@ -50,7 +50,6 @@ static char const * const gFilterFlags[] = {
     "verticalText",
     "genA8FromLCD",
     "blur",
-    "lowBlur",
     "hinting",
     "slightHinting",
     "AAClip",