summaryrefslogtreecommitdiff
path: root/effects/SkBlurMaskFilter.cpp
diff options
context:
space:
mode:
authorcaryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-11-07 14:54:49 +0000
committercaryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-11-07 14:54:49 +0000
commit43fda45293cabbdf9494f3828de30f8440cd61b9 (patch)
tree2a38ddd0464e11e65f49273b22b7fd24977bb55f /effects/SkBlurMaskFilter.cpp
parent8034b5313dd09c17c5c07a0097e7968d6390b84a (diff)
downloadsrc-43fda45293cabbdf9494f3828de30f8440cd61b9.tar.gz
Add temporary interfaces in blur and clip to
permit testing if it is to our advantage to selectively disable soft clipping and high quality blurs during animations. Review URL: https://codereview.appspot.com/6812092 git-svn-id: http://skia.googlecode.com/svn/trunk/src@6328 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'effects/SkBlurMaskFilter.cpp')
-rw-r--r--effects/SkBlurMaskFilter.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/effects/SkBlurMaskFilter.cpp b/effects/SkBlurMaskFilter.cpp
index 4af3bfc0..0b7174da 100644
--- a/effects/SkBlurMaskFilter.cpp
+++ b/effects/SkBlurMaskFilter.cpp
@@ -22,6 +22,7 @@ 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)
@@ -133,6 +134,14 @@ 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