Index: gm/resizeimagefilter.cpp |
diff --git a/gm/resizeimagefilter.cpp b/gm/resizeimagefilter.cpp |
index b8ed100548e0d3dc048006e9ee6de9927b19fa09..28508fdb33c8c4265931233c29e61035e5aae242 100644 |
--- a/gm/resizeimagefilter.cpp |
+++ b/gm/resizeimagefilter.cpp |
@@ -20,7 +20,7 @@ public: |
} |
protected: |
- virtual SkString onShortName() { |
+ SkString onShortName() override { |
return SkString("resizeimagefilter"); |
} |
@@ -28,7 +28,7 @@ protected: |
const SkRect& rect, |
const SkSize& deviceSize, |
SkFilterQuality filterQuality, |
- SkImageFilter* input = nullptr) { |
+ sk_sp<SkImageFilter> input) { |
SkRect dstRect; |
canvas->getTotalMatrix().mapRect(&dstRect, rect); |
canvas->save(); |
@@ -38,12 +38,12 @@ protected: |
canvas->scale(deviceScaleX, deviceScaleY); |
canvas->translate(-rect.x(), -rect.y()); |
SkMatrix matrix; |
- matrix.setScale(SkScalarInvert(deviceScaleX), |
- SkScalarInvert(deviceScaleY)); |
- SkAutoTUnref<SkImageFilter> imageFilter( |
- SkImageFilter::CreateMatrixFilter(matrix, filterQuality, input)); |
+ matrix.setScale(SkScalarInvert(deviceScaleX), SkScalarInvert(deviceScaleY)); |
+ sk_sp<SkImageFilter> filter(SkImageFilter::CreateMatrixFilter(matrix, |
+ filterQuality, |
+ input.get())); |
SkPaint filteredPaint; |
- filteredPaint.setImageFilter(imageFilter.get()); |
+ filteredPaint.setImageFilter(std::move(filter)); |
canvas->saveLayer(&rect, &filteredPaint); |
SkPaint paint; |
paint.setColor(0xFF00FF00); |
@@ -54,40 +54,44 @@ protected: |
canvas->restore(); |
} |
- virtual SkISize onISize() { |
+ SkISize onISize() override { |
return SkISize::Make(520, 100); |
} |
- virtual void onDraw(SkCanvas* canvas) { |
+ void onDraw(SkCanvas* canvas) override { |
canvas->clear(SK_ColorBLACK); |
SkRect srcRect = SkRect::MakeWH(96, 96); |
SkSize deviceSize = SkSize::Make(16, 16); |
- draw(canvas, |
- srcRect, |
- deviceSize, |
- kNone_SkFilterQuality); |
+ this->draw(canvas, |
+ srcRect, |
+ deviceSize, |
+ kNone_SkFilterQuality, |
+ nullptr); |
canvas->translate(srcRect.width() + SkIntToScalar(10), 0); |
- draw(canvas, |
- srcRect, |
- deviceSize, |
- kLow_SkFilterQuality); |
+ this->draw(canvas, |
+ srcRect, |
+ deviceSize, |
+ kLow_SkFilterQuality, |
+ nullptr); |
canvas->translate(srcRect.width() + SkIntToScalar(10), 0); |
- draw(canvas, |
- srcRect, |
- deviceSize, |
- kMedium_SkFilterQuality); |
+ this->draw(canvas, |
+ srcRect, |
+ deviceSize, |
+ kMedium_SkFilterQuality, |
+ nullptr); |
canvas->translate(srcRect.width() + SkIntToScalar(10), 0); |
- draw(canvas, |
- srcRect, |
- deviceSize, |
- kHigh_SkFilterQuality); |
+ this->draw(canvas, |
+ srcRect, |
+ deviceSize, |
+ kHigh_SkFilterQuality, |
+ nullptr); |
- auto surface(SkSurface::MakeRasterN32Premul(16, 16)); |
+ sk_sp<SkSurface> surface(SkSurface::MakeRasterN32Premul(16, 16)); |
SkCanvas* surfaceCanvas = surface->getCanvas(); |
surfaceCanvas->clear(0x000000); |
{ |
@@ -100,14 +104,14 @@ protected: |
sk_sp<SkImage> image(surface->makeImageSnapshot()); |
SkRect inRect = SkRect::MakeXYWH(-4, -4, 20, 20); |
SkRect outRect = SkRect::MakeXYWH(-24, -24, 120, 120); |
- SkAutoTUnref<SkImageFilter> source( |
- SkImageSource::Create(image.get(), inRect, outRect, kHigh_SkFilterQuality)); |
+ sk_sp<SkImageFilter> source( |
+ SkImageSource::Make(std::move(image), inRect, outRect, kHigh_SkFilterQuality)); |
canvas->translate(srcRect.width() + SkIntToScalar(10), 0); |
- draw(canvas, |
- srcRect, |
- deviceSize, |
- kHigh_SkFilterQuality, |
- source.get()); |
+ this->draw(canvas, |
+ srcRect, |
+ deviceSize, |
+ kHigh_SkFilterQuality, |
+ std::move(source)); |
} |
private: |
@@ -116,7 +120,6 @@ private: |
////////////////////////////////////////////////////////////////////////////// |
-static GM* MyFactory(void*) { return new ResizeGM; } |
-static GMRegistry reg(MyFactory); |
+DEF_GM(return new ResizeGM; ) |
} |