aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/blurroundrect.cpp
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-04-15 15:48:36 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-04-15 15:48:36 +0000
commit73cb15351f33459e0c861a96135c634dec77ef9d (patch)
treecf521a48286c5cd88354056e65a933cc63f8fbe1 /gm/blurroundrect.cpp
parentbeb8b3a4da83ce30e313e72ae0e444870acecb7e (diff)
Make sure SkDrawLooper objects can only be allocated on the heap.
Make constructors of SkLayerDrawLooper and SkBlurDrawLooper non-public. Remove addLayer* methods from SkLayerDrawLooper. SkLayerDrawLooper::Builder is used to create new objects. Provide factory method for creating SkBlurDrawLooper. BUG=2141 R=scroggo@google.com, reed@google.com, djsollen@google.com Author: dominikg@chromium.org Review URL: https://codereview.chromium.org/232913003 git-svn-id: http://skia.googlecode.com/svn/trunk@14200 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm/blurroundrect.cpp')
-rw-r--r--gm/blurroundrect.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/gm/blurroundrect.cpp b/gm/blurroundrect.cpp
index 6c3903fd40..f688380f0e 100644
--- a/gm/blurroundrect.cpp
+++ b/gm/blurroundrect.cpp
@@ -53,7 +53,7 @@ public:
}
virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
- SkLayerDrawLooper* looper = new SkLayerDrawLooper;
+ SkLayerDrawLooper::Builder looperBuilder;
{
SkLayerDrawLooper::LayerInfo info;
info.fPaintBits = SkLayerDrawLooper::kMaskFilter_Bit
@@ -61,7 +61,7 @@ public:
info.fColorMode = SkXfermode::kSrc_Mode;
info.fOffset = SkPoint::Make(SkIntToScalar(-1), SkIntToScalar(0));
info.fPostTranslate = false;
- SkPaint* paint = looper->addLayerOnTop(info);
+ SkPaint* paint = looperBuilder.addLayerOnTop(info);
SkMaskFilter* maskFilter = SkBlurMaskFilter::Create(
SkBlurMaskFilter::kNormal_BlurStyle,
SkBlurMask::ConvertRadiusToSigma(SK_ScalarHalf),
@@ -74,12 +74,12 @@ public:
}
{
SkLayerDrawLooper::LayerInfo info;
- looper->addLayerOnTop(info);
+ looperBuilder.addLayerOnTop(info);
}
SkPaint paint;
canvas->drawRect(fRRect.rect(), paint);
- paint.setLooper(looper)->unref();
+ paint.setLooper(looperBuilder.detachLooper())->unref();
paint.setColor(SK_ColorCYAN);
paint.setAntiAlias(true);