From cac5fd597f6e2495f50aaa6bcbe3dadc56f0b977 Mon Sep 17 00:00:00 2001 From: "commit-bot@chromium.org" Date: Mon, 10 Mar 2014 10:51:58 +0000 Subject: Factory methods for heap-allocated SkImageFilter objects. This is part of an effort to ensure that all SkPaint effects can only be allocated on the heap. This patch makes the constructors of SkImageFilter and its subclasses non-public and instead provides factory methods for creating these objects on the heap. We temporarily keep constructor of publicly visible classes public behind a flag. BUG=skia:2187 R=scroggo@google.com, mtklein@chromium.org, reed@google.com, senorblanco@google.com, senorblanco@chromium.org, bsalomon@google.com, sugoi@chromium.org, zork@chromium.org Author: dominikg@chromium.org Review URL: https://codereview.chromium.org/182983003 git-svn-id: http://skia.googlecode.com/svn/trunk@13718 2bbb7eff-a529-9590-31e7-b0007b416f81 --- gm/displacement.cpp | 190 ++++++++++++++++++++++++++-------------------------- 1 file changed, 95 insertions(+), 95 deletions(-) (limited to 'gm/displacement.cpp') diff --git a/gm/displacement.cpp b/gm/displacement.cpp index b1f097b8bf..af7c772532 100644 --- a/gm/displacement.cpp +++ b/gm/displacement.cpp @@ -83,135 +83,135 @@ protected: } canvas->clear(0x00000000); SkPaint paint; - SkAutoTUnref displ(SkNEW_ARGS(SkBitmapSource, (fCheckerboard))); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kG_ChannelSelectorType, 0.0f, displ)))->unref(); + SkAutoTUnref displ(SkBitmapSource::Create(fCheckerboard)); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kG_ChannelSelectorType, 0.0f, displ))->unref(); drawClippedBitmap(canvas, 0, 0, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kB_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, 16.0f, displ)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kB_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, 16.0f, displ))->unref(); drawClippedBitmap(canvas, 100, 0, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kB_ChannelSelectorType, 32.0f, displ)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kB_ChannelSelectorType, 32.0f, displ))->unref(); drawClippedBitmap(canvas, 200, 0, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kG_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, 48.0f, displ)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kG_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, 48.0f, displ))->unref(); drawClippedBitmap(canvas, 300, 0, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, 64.0f, displ)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, 64.0f, displ))->unref(); drawClippedBitmap(canvas, 400, 0, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kG_ChannelSelectorType, 40.0f, displ)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kG_ChannelSelectorType, 40.0f, displ))->unref(); drawClippedBitmap(canvas, 0, 100, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kB_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, 40.0f, displ)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kB_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, 40.0f, displ))->unref(); drawClippedBitmap(canvas, 100, 100, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kB_ChannelSelectorType, 40.0f, displ)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kB_ChannelSelectorType, 40.0f, displ))->unref(); drawClippedBitmap(canvas, 200, 100, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kG_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, 40.0f, displ)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kG_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, 40.0f, displ))->unref(); drawClippedBitmap(canvas, 300, 100, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, 40.0f, displ)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, 40.0f, displ))->unref(); drawClippedBitmap(canvas, 400, 100, paint); SkImageFilter::CropRect cropRect(SkRect::MakeXYWH(30, 30, 40, 40)); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kG_ChannelSelectorType, - 0.0f, displ, NULL, &cropRect)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kG_ChannelSelectorType, + 0.0f, displ, NULL, &cropRect))->unref(); drawClippedBitmap(canvas, 0, 200, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kB_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, - 16.0f, displ, NULL, &cropRect)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kB_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, + 16.0f, displ, NULL, &cropRect))->unref(); drawClippedBitmap(canvas, 100, 200, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kB_ChannelSelectorType, - 32.0f, displ, NULL, &cropRect)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kB_ChannelSelectorType, + 32.0f, displ, NULL, &cropRect))->unref(); drawClippedBitmap(canvas, 200, 200, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kG_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, - 48.0f, displ, NULL, &cropRect)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kG_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, + 48.0f, displ, NULL, &cropRect))->unref(); drawClippedBitmap(canvas, 300, 200, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, - 64.0f, displ, NULL, &cropRect)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, + 64.0f, displ, NULL, &cropRect))->unref(); drawClippedBitmap(canvas, 400, 200, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kG_ChannelSelectorType, - 40.0f, displ, NULL, &cropRect)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kG_ChannelSelectorType, + 40.0f, displ, NULL, &cropRect))->unref(); drawClippedBitmap(canvas, 0, 300, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kB_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, - 40.0f, displ, NULL, &cropRect)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kB_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, + 40.0f, displ, NULL, &cropRect))->unref(); drawClippedBitmap(canvas, 100, 300, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kB_ChannelSelectorType, - 40.0f, displ, NULL, &cropRect)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kB_ChannelSelectorType, + 40.0f, displ, NULL, &cropRect))->unref(); drawClippedBitmap(canvas, 200, 300, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kG_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, - 40.0f, displ, NULL, &cropRect)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kG_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, + 40.0f, displ, NULL, &cropRect))->unref(); drawClippedBitmap(canvas, 300, 300, paint); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, - 40.0f, displ, NULL, &cropRect)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, + 40.0f, displ, NULL, &cropRect))->unref(); drawClippedBitmap(canvas, 400, 300, paint); // Tests for images of different sizes - displ.reset(SkNEW_ARGS(SkBitmapSource, (fSmall))); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kG_ChannelSelectorType, - 40.0f, displ)))->unref(); + displ.reset(SkBitmapSource::Create(fSmall)); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kG_ChannelSelectorType, + 40.0f, displ))->unref(); drawClippedBitmap(canvas, 0, 400, paint); - displ.reset(SkNEW_ARGS(SkBitmapSource, (fLarge))); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kB_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, - 40.0f, displ)))->unref(); + displ.reset(SkBitmapSource::Create(fLarge)); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kB_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, + 40.0f, displ))->unref(); drawClippedBitmap(canvas, 100, 400, paint); - displ.reset(SkNEW_ARGS(SkBitmapSource, (fLargeW))); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kB_ChannelSelectorType, - 40.0f, displ)))->unref(); + displ.reset(SkBitmapSource::Create(fLargeW)); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kR_ChannelSelectorType, + SkDisplacementMapEffect::kB_ChannelSelectorType, + 40.0f, displ))->unref(); drawClippedBitmap(canvas, 200, 400, paint); - displ.reset(SkNEW_ARGS(SkBitmapSource, (fLargeH))); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kG_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, - 40.0f, displ)))->unref(); + displ.reset(SkBitmapSource::Create(fLargeH)); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kG_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, + 40.0f, displ))->unref(); drawClippedBitmap(canvas, 300, 400, paint); // Test for no given displacement input. In this case, both displacement // and color should use the same bitmap, given to SkCanvas::drawBitmap() // as an input argument. - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kG_ChannelSelectorType, - SkDisplacementMapEffect::kA_ChannelSelectorType, - 40.0f, NULL)))->unref(); + paint.setImageFilter(SkDisplacementMapEffect::Create( + SkDisplacementMapEffect::kG_ChannelSelectorType, + SkDisplacementMapEffect::kA_ChannelSelectorType, + 40.0f, NULL))->unref(); drawClippedBitmap(canvas, 400, 400, paint); } -- cgit v1.2.3