Chromium Code Reviews| Index: gm/imagefilterscropexpand.cpp |
| diff --git a/gm/imagefilterscropexpand.cpp b/gm/imagefilterscropexpand.cpp |
| index 450610aded50aad6aa2b3d2ad8407d8f76b702cb..82149dc85cef55c6c7f934a2f8e605d82d899960 100644 |
| --- a/gm/imagefilterscropexpand.cpp |
| +++ b/gm/imagefilterscropexpand.cpp |
| @@ -50,8 +50,7 @@ protected: |
| SkAutoTUnref<SkImageFilter> gradientCircleSource( |
| SkImageSource::Create(gradientCircle.get())); |
| - SkAutoTUnref<SkImageFilter> noopCropped( |
| - SkOffsetImageFilter::Create(0, 0, nullptr, &cropRect)); |
| + sk_sp<SkImageFilter> noopCropped(SkOffsetImageFilter::Make(0, 0, nullptr, &cropRect)); |
| SkScalar sk255 = SkIntToScalar(255); |
| SkScalar matrix[20] = { 1, 0, 0, 0, 0, |
| 0, 1, 0, 0, sk255, |
| @@ -77,40 +76,63 @@ protected: |
| SkIntToScalar(outset)); |
| SkImageFilter::CropRect bigRect(rect, SkImageFilter::CropRect::kHasAll_CropEdge); |
| - Draw(canvas, checkerboard, rect, SkColorFilterImageFilter::Create( |
| - cfAlphaTrans.get(), noopCropped.get(), &bigRect)); |
| + Draw(canvas, checkerboard, rect, |
| + sk_sp<SkImageFilter>(SkColorFilterImageFilter::Create(cfAlphaTrans.get(), |
| + noopCropped.get(), |
| + &bigRect))); |
| - Draw(canvas, checkerboard, rect, SkBlurImageFilter::Create( |
| - 0.3f, 0.3f, noopCropped.get(), &bigRect)); |
| + Draw(canvas, checkerboard, rect, |
| + sk_sp<SkImageFilter>(SkBlurImageFilter::Create(0.3f, 0.3f, |
| + noopCropped.get(), |
| + &bigRect))); |
| - Draw(canvas, checkerboard, rect, SkBlurImageFilter::Create( |
| - 8.0f, 8.0f, noopCropped.get(), &bigRect)); |
| + Draw(canvas, checkerboard, rect, |
| + sk_sp<SkImageFilter>(SkBlurImageFilter::Create(8.0f, 8.0f, |
| + noopCropped.get(), |
| + &bigRect))); |
| - Draw(canvas, checkerboard, rect, SkDilateImageFilter::Create( |
| - 2, 2, noopCropped.get(), &bigRect)); |
| + Draw(canvas, checkerboard, rect, |
| + sk_sp<SkImageFilter>(SkDilateImageFilter::Create(2, 2, |
| + noopCropped.get(), |
| + &bigRect))); |
| - Draw(canvas, checkerboard, rect, SkErodeImageFilter::Create( |
| - 2, 2, noopCropped.get(), &bigRect)); |
| + Draw(canvas, checkerboard, rect, |
| + sk_sp<SkImageFilter>(SkErodeImageFilter::Create(2, 2, |
| + noopCropped.get(), |
| + &bigRect))); |
| - Draw(canvas, checkerboard, rect, SkDropShadowImageFilter::Create( |
| - SkIntToScalar(10), SkIntToScalar(10), SkIntToScalar(3), SkIntToScalar(3), |
| - SK_ColorBLUE, SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode, |
| - noopCropped.get(), &bigRect)); |
| + Draw(canvas, checkerboard, rect, |
| + sk_sp<SkImageFilter>(SkDropShadowImageFilter::Create( |
| + SkIntToScalar(10), |
| + SkIntToScalar(10), |
| + SkIntToScalar(3), |
| + SkIntToScalar(3), |
| + SK_ColorBLUE, |
| + SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode, |
| + noopCropped.get(), |
| + &bigRect))); |
| - Draw(canvas, checkerboard, rect, SkDisplacementMapEffect::Create( |
| - SkDisplacementMapEffect::kR_ChannelSelectorType, |
| - SkDisplacementMapEffect::kR_ChannelSelectorType, |
| - SkIntToScalar(12), |
| - gradientCircleSource.get(), |
| - noopCropped.get(), |
| - &bigRect)); |
| + Draw(canvas, checkerboard, rect, |
| + sk_sp<SkImageFilter>(SkDisplacementMapEffect::Create( |
| + SkDisplacementMapEffect::kR_ChannelSelectorType, |
| + SkDisplacementMapEffect::kR_ChannelSelectorType, |
| + SkIntToScalar(12), |
| + gradientCircleSource.get(), |
| + noopCropped.get(), |
| + &bigRect))); |
| - Draw(canvas, checkerboard, rect, SkOffsetImageFilter::Create( |
| - SkIntToScalar(-8), SkIntToScalar(16), noopCropped.get(), &bigRect)); |
| + Draw(canvas, checkerboard, rect, |
| + SkOffsetImageFilter::Make(SkIntToScalar(-8), SkIntToScalar(16), |
| + noopCropped, |
| + &bigRect)); |
| Draw(canvas, checkerboard, rect, |
| - SkLightingImageFilter::CreatePointLitDiffuse(pointLocation, SK_ColorWHITE, |
| - surfaceScale, kd, noopCropped.get(), &bigRect)); |
| + sk_sp<SkImageFilter>(SkLightingImageFilter::CreatePointLitDiffuse(pointLocation, |
| + SK_ColorWHITE, |
| + surfaceScale, |
| + kd, |
| + noopCropped.get(), |
| + &bigRect))); |
| canvas->restore(); |
| canvas->translate(0, SkIntToScalar(80)); |
| @@ -157,9 +179,10 @@ private: |
| return surface->makeImageSnapshot(); |
| } |
| - static void Draw(SkCanvas* canvas, const SkBitmap& bitmap, const SkRect& rect, SkImageFilter* filter) { |
| + static void Draw(SkCanvas* canvas, const SkBitmap& bitmap, const SkRect& rect, |
| + sk_sp<SkImageFilter> filter) { |
| SkPaint paint; |
| - paint.setImageFilter(filter)->unref(); |
| + paint.setImageFilter(filter); |
|
f(malita)
2016/03/31 13:39:01
nit: move filter
robertphillips
2016/03/31 14:56:14
Done.
|
| canvas->saveLayer(&rect, &paint); |
| canvas->drawBitmap(bitmap, 0, 0); |
| canvas->restore(); |