Index: gm/imagefilterscropexpand.cpp |
diff --git a/gm/imagefilterscropexpand.cpp b/gm/imagefilterscropexpand.cpp |
index 450610aded50aad6aa2b3d2ad8407d8f76b702cb..6b2484e1a840aa0ecdf7ed380fa9bc645dc908b0 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(std::move(filter)); |
canvas->saveLayer(&rect, &paint); |
canvas->drawBitmap(bitmap, 0, 0); |
canvas->restore(); |