Update DropShadowImageFilter to sk_sp
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1861843002
Review URL: https://codereview.chromium.org/1861843002
diff --git a/gm/dropshadowimagefilter.cpp b/gm/dropshadowimagefilter.cpp
index 11fa9a8..370b569 100644
--- a/gm/dropshadowimagefilter.cpp
+++ b/gm/dropshadowimagefilter.cpp
@@ -13,9 +13,9 @@
///////////////////////////////////////////////////////////////////////////////
-static void draw_paint(SkCanvas* canvas, const SkRect& r, SkImageFilter* imf) {
+static void draw_paint(SkCanvas* canvas, const SkRect& r, sk_sp<SkImageFilter> imf) {
SkPaint paint;
- paint.setImageFilter(imf);
+ paint.setImageFilter(std::move(imf));
paint.setColor(SK_ColorBLACK);
canvas->save();
canvas->clipRect(r);
@@ -23,10 +23,10 @@
canvas->restore();
}
-static void draw_path(SkCanvas* canvas, const SkRect& r, SkImageFilter* imf) {
+static void draw_path(SkCanvas* canvas, const SkRect& r, sk_sp<SkImageFilter> imf) {
SkPaint paint;
paint.setColor(SK_ColorGREEN);
- paint.setImageFilter(imf);
+ paint.setImageFilter(std::move(imf));
paint.setAntiAlias(true);
canvas->save();
canvas->clipRect(r);
@@ -34,9 +34,9 @@
canvas->restore();
}
-static void draw_text(SkCanvas* canvas, const SkRect& r, SkImageFilter* imf) {
+static void draw_text(SkCanvas* canvas, const SkRect& r, sk_sp<SkImageFilter> imf) {
SkPaint paint;
- paint.setImageFilter(imf);
+ paint.setImageFilter(std::move(imf));
paint.setColor(SK_ColorGREEN);
paint.setAntiAlias(true);
sk_tool_utils::set_portable_typeface(&paint);
@@ -48,7 +48,7 @@
canvas->restore();
}
-static void draw_bitmap(SkCanvas* canvas, const SkRect& r, SkImageFilter* imf) {
+static void draw_bitmap(SkCanvas* canvas, const SkRect& r, sk_sp<SkImageFilter> imf) {
SkPaint paint;
SkIRect bounds;
@@ -60,7 +60,7 @@
SkCanvas c(bm);
draw_path(&c, r, nullptr);
- paint.setImageFilter(imf);
+ paint.setImageFilter(std::move(imf));
canvas->save();
canvas->clipRect(r);
canvas->drawBitmap(bm, 0, 0, &paint);
@@ -75,21 +75,14 @@
protected:
- virtual SkString onShortName() {
+ SkString onShortName() override {
return SkString("dropshadowimagefilter");
}
- virtual SkISize onISize() { return SkISize::Make(400, 656); }
+ SkISize onISize() override { return SkISize::Make(400, 656); }
- void draw_frame(SkCanvas* canvas, const SkRect& r) {
- SkPaint paint;
- paint.setStyle(SkPaint::kStroke_Style);
- paint.setColor(SK_ColorRED);
- canvas->drawRect(r, paint);
- }
-
- virtual void onDraw(SkCanvas* canvas) {
- void (*drawProc[])(SkCanvas*, const SkRect&, SkImageFilter*) = {
+ void onDraw(SkCanvas* canvas) override {
+ void (*drawProc[])(SkCanvas*, const SkRect&, sk_sp<SkImageFilter>) = {
draw_bitmap, draw_path, draw_paint, draw_text
};
@@ -101,22 +94,22 @@
SkImageFilter::CropRect bogusRect(SkRect::Make(SkIRect::MakeXYWH(-100, -100, 10, 10)),
SkImageFilter::CropRect::kHasAll_CropEdge);
- SkImageFilter* filters[] = {
+ sk_sp<SkImageFilter> filters[] = {
nullptr,
- SkDropShadowImageFilter::Create(7.0f, 0.0f, 0.0f, 3.0f, SK_ColorBLUE,
- SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode),
- SkDropShadowImageFilter::Create(0.0f, 7.0f, 3.0f, 0.0f, SK_ColorBLUE,
- SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode),
- SkDropShadowImageFilter::Create(7.0f, 7.0f, 3.0f, 3.0f, SK_ColorBLUE,
- SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode),
- SkDropShadowImageFilter::Create(7.0f, 7.0f, 3.0f, 3.0f, SK_ColorBLUE,
- SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode, cfif.get(), nullptr),
- SkDropShadowImageFilter::Create(7.0f, 7.0f, 3.0f, 3.0f, SK_ColorBLUE,
+ SkDropShadowImageFilter::Make(7.0f, 0.0f, 0.0f, 3.0f, SK_ColorBLUE,
+ SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode, nullptr),
+ SkDropShadowImageFilter::Make(0.0f, 7.0f, 3.0f, 0.0f, SK_ColorBLUE,
+ SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode, nullptr),
+ SkDropShadowImageFilter::Make(7.0f, 7.0f, 3.0f, 3.0f, SK_ColorBLUE,
+ SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode, nullptr),
+ SkDropShadowImageFilter::Make(7.0f, 7.0f, 3.0f, 3.0f, SK_ColorBLUE,
+ SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode, std::move(cfif)),
+ SkDropShadowImageFilter::Make(7.0f, 7.0f, 3.0f, 3.0f, SK_ColorBLUE,
SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode, nullptr, &cropRect),
- SkDropShadowImageFilter::Create(7.0f, 7.0f, 3.0f, 3.0f, SK_ColorBLUE,
+ SkDropShadowImageFilter::Make(7.0f, 7.0f, 3.0f, 3.0f, SK_ColorBLUE,
SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode, nullptr, &bogusRect),
- SkDropShadowImageFilter::Create(7.0f, 7.0f, 3.0f, 3.0f, SK_ColorBLUE,
- SkDropShadowImageFilter::kDrawShadowOnly_ShadowMode),
+ SkDropShadowImageFilter::Make(7.0f, 7.0f, 3.0f, 3.0f, SK_ColorBLUE,
+ SkDropShadowImageFilter::kDrawShadowOnly_ShadowMode, nullptr),
};
SkRect r = SkRect::MakeWH(SkIntToScalar(64), SkIntToScalar(64));
@@ -134,10 +127,6 @@
canvas->restore();
canvas->translate(DX, 0);
}
-
- for(size_t j = 0; j < SK_ARRAY_COUNT(filters); ++j) {
- SkSafeUnref(filters[j]);
- }
}
private:
diff --git a/gm/filterfastbounds.cpp b/gm/filterfastbounds.cpp
index 6ae4e74..43a1b1e 100644
--- a/gm/filterfastbounds.cpp
+++ b/gm/filterfastbounds.cpp
@@ -122,22 +122,21 @@
static const SkDropShadowImageFilter::ShadowMode kBoth =
SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode;
- sk_sp<SkImageFilter> dsif(
- SkDropShadowImageFilter::Create(10.0f, 10.0f,
- 3.0f, 3.0f,
- SK_ColorRED, kBoth,
- source.get(), nullptr));
+ sk_sp<SkImageFilter> dsif(SkDropShadowImageFilter::Make(10.0f, 10.0f,
+ 3.0f, 3.0f,
+ SK_ColorRED, kBoth,
+ source));
add_paint(paints, std::move(dsif));
}
{
sk_sp<SkImageFilter> dsif(
- SkDropShadowImageFilter::Create(27.0f, 27.0f,
+ SkDropShadowImageFilter::Make(27.0f, 27.0f,
3.0f, 3.0f,
SK_ColorRED,
SkDropShadowImageFilter::kDrawShadowOnly_ShadowMode,
- source.get(), nullptr));
+ source));
add_paint(paints, std::move(dsif));
}
diff --git a/gm/imagefiltersbase.cpp b/gm/imagefiltersbase.cpp
index ebbd895..f35357f 100644
--- a/gm/imagefiltersbase.cpp
+++ b/gm/imagefiltersbase.cpp
@@ -202,9 +202,10 @@
FailImageFilter::Make(),
SkColorFilterImageFilter::Make(std::move(cf), nullptr),
SkBlurImageFilter::Make(12.0f, 0.0f, nullptr),
- sk_sp<SkImageFilter>(SkDropShadowImageFilter::Create(
+ SkDropShadowImageFilter::Make(
10.0f, 5.0f, 3.0f, 3.0f, SK_ColorBLUE,
- SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode)),
+ SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode,
+ nullptr),
};
SkRect r = SkRect::MakeWH(SkIntToScalar(64), SkIntToScalar(64));
diff --git a/gm/imagefiltersclipped.cpp b/gm/imagefiltersclipped.cpp
index 7296fd5..b24ca5a 100644
--- a/gm/imagefiltersclipped.cpp
+++ b/gm/imagefiltersclipped.cpp
@@ -95,9 +95,10 @@
SkImageFilter* filters[] = {
SkBlurImageFilter::Make(SkIntToScalar(12), SkIntToScalar(12), nullptr).release(),
- SkDropShadowImageFilter::Create(SkIntToScalar(10), SkIntToScalar(10),
+ SkDropShadowImageFilter::Make(SkIntToScalar(10), SkIntToScalar(10),
SkIntToScalar(3), SkIntToScalar(3), SK_ColorGREEN,
- SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode),
+ SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode,
+ nullptr).release(),
SkDisplacementMapEffect::Create(SkDisplacementMapEffect::kR_ChannelSelectorType,
SkDisplacementMapEffect::kR_ChannelSelectorType,
SkIntToScalar(12),
diff --git a/gm/imagefilterscropexpand.cpp b/gm/imagefilterscropexpand.cpp
index 907277f..6f749dc 100644
--- a/gm/imagefilterscropexpand.cpp
+++ b/gm/imagefilterscropexpand.cpp
@@ -96,15 +96,15 @@
&bigRect));
Draw(canvas, checkerboard, rect,
- sk_sp<SkImageFilter>(SkDropShadowImageFilter::Create(
+ SkDropShadowImageFilter::Make(
SkIntToScalar(10),
SkIntToScalar(10),
SkIntToScalar(3),
SkIntToScalar(3),
SK_ColorBLUE,
SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode,
- noopCropped.get(),
- &bigRect)));
+ noopCropped,
+ &bigRect));
Draw(canvas, checkerboard, rect,
sk_sp<SkImageFilter>(SkDisplacementMapEffect::Create(
diff --git a/gm/imagefiltersscaled.cpp b/gm/imagefiltersscaled.cpp
index a63e99a..46f998c 100644
--- a/gm/imagefiltersscaled.cpp
+++ b/gm/imagefiltersscaled.cpp
@@ -74,9 +74,9 @@
SkImageFilter* filters[] = {
SkBlurImageFilter::Make(SkIntToScalar(4), SkIntToScalar(4), nullptr).release(),
- SkDropShadowImageFilter::Create(SkIntToScalar(5), SkIntToScalar(10),
+ SkDropShadowImageFilter::Make(SkIntToScalar(5), SkIntToScalar(10),
SkIntToScalar(3), SkIntToScalar(3), SK_ColorYELLOW,
- SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode),
+ SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode, nullptr).release(),
SkDisplacementMapEffect::Create(SkDisplacementMapEffect::kR_ChannelSelectorType,
SkDisplacementMapEffect::kR_ChannelSelectorType,
SkIntToScalar(12),
diff --git a/gm/imagefiltersstroked.cpp b/gm/imagefiltersstroked.cpp
index cca8737..13dc705 100644
--- a/gm/imagefiltersstroked.cpp
+++ b/gm/imagefiltersstroked.cpp
@@ -59,8 +59,9 @@
sk_sp<SkImageFilter> filters[] = {
SkBlurImageFilter::Make(5, 5, nullptr),
- sk_sp<SkImageFilter>(SkDropShadowImageFilter::Create(10, 10, 3, 3, SK_ColorGREEN,
- SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode)),
+ SkDropShadowImageFilter::Make(10, 10, 3, 3, SK_ColorGREEN,
+ SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode,
+ nullptr),
SkOffsetImageFilter::Make(-16, 32, nullptr),
SkImageFilter::MakeMatrixFilter(resizeMatrix, kNone_SkFilterQuality, nullptr),
};
diff --git a/gm/imagefilterstransformed.cpp b/gm/imagefilterstransformed.cpp
index 1ab52b9..291d1d4 100644
--- a/gm/imagefilterstransformed.cpp
+++ b/gm/imagefilterstransformed.cpp
@@ -65,17 +65,18 @@
void onDraw(SkCanvas* canvas) override {
sk_sp<SkImageFilter> gradient(SkImageSource::Make(fGradientCircle));
sk_sp<SkImageFilter> checkerboard(SkImageSource::Make(fCheckerboard));
- SkImageFilter* filters[] = {
- SkBlurImageFilter::Make(12, 0, nullptr).release(),
- SkDropShadowImageFilter::Create(0, 15, 8, 0, SK_ColorGREEN,
- SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode),
- SkDisplacementMapEffect::Create(SkDisplacementMapEffect::kR_ChannelSelectorType,
+ sk_sp<SkImageFilter> filters[] = {
+ SkBlurImageFilter::Make(12, 0, nullptr),
+ SkDropShadowImageFilter::Make(0, 15, 8, 0, SK_ColorGREEN,
+ SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode, nullptr),
+ sk_sp<SkImageFilter>(SkDisplacementMapEffect::Create(
+ SkDisplacementMapEffect::kR_ChannelSelectorType,
SkDisplacementMapEffect::kR_ChannelSelectorType,
12,
gradient.get(),
- checkerboard.get()),
- SkDilateImageFilter::Make(2, 2, checkerboard).release(),
- SkErodeImageFilter::Make(2, 2, checkerboard).release(),
+ checkerboard.get())),
+ SkDilateImageFilter::Make(2, 2, checkerboard),
+ SkErodeImageFilter::Make(2, 2, checkerboard),
};
const SkScalar margin = SkIntToScalar(20);
@@ -106,10 +107,6 @@
canvas->restore();
canvas->translate(0, size + margin);
}
-
- for (size_t i = 0; i < SK_ARRAY_COUNT(filters); ++i) {
- SkSafeUnref(filters[i]);
- }
}
private: