diff options
author | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-03-10 10:51:58 +0000 |
---|---|---|
committer | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-03-10 10:51:58 +0000 |
commit | cac5fd597f6e2495f50aaa6bcbe3dadc56f0b977 (patch) | |
tree | aeeee764feb84da585a469d005bfaf0e4a69bc13 /gm/displacement.cpp | |
parent | b471a32460a44043e1f00d28cbefc87579dc30c5 (diff) |
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
Diffstat (limited to 'gm/displacement.cpp')
-rw-r--r-- | gm/displacement.cpp | 190 |
1 files changed, 95 insertions, 95 deletions
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<SkImageFilter> displ(SkNEW_ARGS(SkBitmapSource, (fCheckerboard))); - paint.setImageFilter(SkNEW_ARGS(SkDisplacementMapEffect, - (SkDisplacementMapEffect::kR_ChannelSelectorType, - SkDisplacementMapEffect::kG_ChannelSelectorType, 0.0f, displ)))->unref(); + SkAutoTUnref<SkImageFilter> 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); } |