diff options
author | robertphillips <robertphillips@google.com> | 2016-04-08 08:01:20 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-04-08 08:01:20 -0700 |
commit | ef6a47b4af1ebf621682b3398916fefb90fc912e (patch) | |
tree | e9ddad02013f8a95a993b5ad8ef53cab16e65329 /gm | |
parent | 2bb3b6d2bb2cb3cc72ba254b34fadde5319c141a (diff) |
Update MatrixConvolutionImageFilter to sk_sp
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1869833002
Review URL: https://codereview.chromium.org/1869833002
Diffstat (limited to 'gm')
-rw-r--r-- | gm/imagefilters.cpp | 21 | ||||
-rw-r--r-- | gm/imagefiltersgraph.cpp | 17 | ||||
-rw-r--r-- | gm/matrixconvolution.cpp | 20 |
3 files changed, 26 insertions, 32 deletions
diff --git a/gm/imagefilters.cpp b/gm/imagefilters.cpp index 4343f8b03c..fcb82a7242 100644 --- a/gm/imagefilters.cpp +++ b/gm/imagefilters.cpp @@ -114,7 +114,7 @@ DEF_SIMPLE_GM(fast_slow_blurimagefilter, canvas, 620, 260) { #include "SkColorFilterImageFilter.h" #include "SkRRect.h" -static void draw_set(SkCanvas* canvas, SkImageFilter* filters[], int count) { +static void draw_set(SkCanvas* canvas, sk_sp<SkImageFilter> filters[], int count) { const SkRect r = SkRect::MakeXYWH(30, 30, 200, 200); const SkScalar offset = 250; SkScalar dx = 0, dy = 0; @@ -123,7 +123,7 @@ static void draw_set(SkCanvas* canvas, SkImageFilter* filters[], int count) { canvas->save(); SkRRect rr = SkRRect::MakeRectXY(r.makeOffset(dx, dy), 20, 20); canvas->clipRRect(rr, SkRegion::kIntersect_Op, true); - canvas->saveLayer({ &rr.getBounds(), nullptr, filters[i], 0 }); + canvas->saveLayer({ &rr.getBounds(), nullptr, filters[i].get(), 0 }); canvas->drawColor(0x40FFFFFF); canvas->restore(); canvas->restore(); @@ -142,13 +142,14 @@ DEF_SIMPLE_GM(savelayer_with_backdrop, canvas, 830, 550) { cm.setSaturation(10); sk_sp<SkColorFilter> cf(SkColorFilter::MakeMatrixFilterRowMajor255(cm.fMat)); const SkScalar kernel[] = { 4, 0, 4, 0, -15, 0, 4, 0, 4 }; - SkImageFilter* filters[] = { - SkBlurImageFilter::Make(10, 10, nullptr).release(), - SkDilateImageFilter::Make(8, 8, nullptr).release(), - SkMatrixConvolutionImageFilter::Create({ 3, 3 }, kernel, 1, 0, { 0, 0 }, + sk_sp<SkImageFilter> filters[] = { + SkBlurImageFilter::Make(10, 10, nullptr), + SkDilateImageFilter::Make(8, 8, nullptr), + SkMatrixConvolutionImageFilter::Make( + { 3, 3 }, kernel, 1, 0, { 0, 0 }, SkMatrixConvolutionImageFilter::kClampToBlack_TileMode, - true), - SkColorFilterImageFilter::Make(std::move(cf), nullptr).release(), + true, nullptr), + SkColorFilterImageFilter::Make(std::move(cf), nullptr), }; const struct { @@ -173,8 +174,4 @@ DEF_SIMPLE_GM(savelayer_with_backdrop, canvas, 830, 550) { draw_set(canvas, filters, SK_ARRAY_COUNT(filters)); canvas->restore(); } - - for (auto& filter : filters) { - filter->unref(); - } } diff --git a/gm/imagefiltersgraph.cpp b/gm/imagefiltersgraph.cpp index 8bf3930fec..8c80ca3379 100644 --- a/gm/imagefiltersgraph.cpp +++ b/gm/imagefiltersgraph.cpp @@ -216,15 +216,14 @@ protected: SkIPoint kernelOffset = SkIPoint::Make(1, 1); auto tileMode = SkMatrixConvolutionImageFilter::kClamp_TileMode; bool convolveAlpha = false; - sk_sp<SkImageFilter> convolve( - SkMatrixConvolutionImageFilter::Create(kernelSize, - kernel, - gain, - bias, - kernelOffset, - tileMode, - convolveAlpha, - dilate.get())); + sk_sp<SkImageFilter> convolve(SkMatrixConvolutionImageFilter::Make(kernelSize, + kernel, + gain, + bias, + kernelOffset, + tileMode, + convolveAlpha, + std::move(dilate))); SkPaint paint; paint.setImageFilter(std::move(convolve)); diff --git a/gm/matrixconvolution.cpp b/gm/matrixconvolution.cpp index b02f743f29..153f7a530a 100644 --- a/gm/matrixconvolution.cpp +++ b/gm/matrixconvolution.cpp @@ -58,17 +58,15 @@ protected: SkISize kernelSize = SkISize::Make(3, 3); SkScalar gain = 0.3f, bias = SkIntToScalar(100); SkPaint paint; - SkAutoTUnref<SkImageFilter> filter( - SkMatrixConvolutionImageFilter::Create(kernelSize, - kernel, - gain, - bias, - kernelOffset, - tileMode, - convolveAlpha, - nullptr, - cropRect)); - paint.setImageFilter(filter); + paint.setImageFilter(SkMatrixConvolutionImageFilter::Make(kernelSize, + kernel, + gain, + bias, + kernelOffset, + tileMode, + convolveAlpha, + nullptr, + cropRect)); canvas->save(); canvas->translate(SkIntToScalar(x), SkIntToScalar(y)); canvas->clipRect(SkRect::MakeWH(SkIntToScalar(fBitmap.width()), |