aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm
diff options
context:
space:
mode:
authorGravatar robertphillips <robertphillips@google.com>2016-04-08 08:01:20 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-08 08:01:20 -0700
commitef6a47b4af1ebf621682b3398916fefb90fc912e (patch)
treee9ddad02013f8a95a993b5ad8ef53cab16e65329 /gm
parent2bb3b6d2bb2cb3cc72ba254b34fadde5319c141a (diff)
Update MatrixConvolutionImageFilter to sk_sp
Diffstat (limited to 'gm')
-rw-r--r--gm/imagefilters.cpp21
-rw-r--r--gm/imagefiltersgraph.cpp17
-rw-r--r--gm/matrixconvolution.cpp20
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()),