aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/filterfastbounds.cpp
diff options
context:
space:
mode:
authorGravatar robertphillips <robertphillips@google.com>2016-04-04 04:31:25 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-04 04:31:25 -0700
commit6e7025ab13dfc4f0037233e67b4b8e18d6dfd1e1 (patch)
treead46002c401ef4bd42ac963a1f8eed09beeb90b3 /gm/filterfastbounds.cpp
parent60c9b58b3214b0154c931656e91e39b230e987d8 (diff)
Update SkBlurImageFilter to sk_sp
Diffstat (limited to 'gm/filterfastbounds.cpp')
-rw-r--r--gm/filterfastbounds.cpp58
1 files changed, 22 insertions, 36 deletions
diff --git a/gm/filterfastbounds.cpp b/gm/filterfastbounds.cpp
index 9d07095855..a254ec92c3 100644
--- a/gm/filterfastbounds.cpp
+++ b/gm/filterfastbounds.cpp
@@ -82,79 +82,68 @@ static const drawMth gDrawMthds[] = {
draw_rect, draw_oval, draw_rrect, draw_drrect, draw_path, draw_points, draw_bitmap
};
-static void add_paint(SkImageFilter* filter, SkTArray<SkPaint>* paints) {
+static void add_paint(SkTArray<SkPaint>* paints, sk_sp<SkImageFilter> filter) {
SkPaint& p = paints->push_back();
- p.setImageFilter(filter);
+ p.setImageFilter(std::move(filter));
SkASSERT(p.canComputeFastBounds());
}
// Create a selection of imagefilter-based paints to test
-static void create_paints(SkImageFilter* source, SkTArray<SkPaint>* paints) {
+static void create_paints(SkTArray<SkPaint>* paints, sk_sp<SkImageFilter> source) {
{
SkMatrix scale;
scale.setScale(2.0f, 2.0f);
- SkAutoTUnref<SkImageFilter> scaleMIF(
- SkImageFilter::CreateMatrixFilter(scale, kLow_SkFilterQuality, source));
+ sk_sp<SkImageFilter> scaleMIF(
+ SkImageFilter::CreateMatrixFilter(scale, kLow_SkFilterQuality, source.get()));
- add_paint(scaleMIF, paints);
+ add_paint(paints, std::move(scaleMIF));
}
{
SkMatrix rot;
rot.setRotate(-33.3f);
- SkAutoTUnref<SkImageFilter> rotMIF(
- SkImageFilter::CreateMatrixFilter(rot, kLow_SkFilterQuality, source));
+ sk_sp<SkImageFilter> rotMIF(
+ SkImageFilter::CreateMatrixFilter(rot, kLow_SkFilterQuality, source.get()));
- add_paint(rotMIF, paints);
+ add_paint(paints, std::move(rotMIF));
}
{
SkRect src = SkRect::MakeXYWH(20, 20, 10, 10);
SkRect dst = SkRect::MakeXYWH(30, 30, 30, 30);
- SkAutoTUnref<SkImageFilter> tileIF(
- SkTileImageFilter::Create(src, dst, nullptr));
+ sk_sp<SkImageFilter> tileIF(SkTileImageFilter::Create(src, dst, nullptr));
- add_paint(tileIF, paints);
+ add_paint(paints, std::move(tileIF));
}
{
static const SkDropShadowImageFilter::ShadowMode kBoth =
SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode;
- SkAutoTUnref<SkImageFilter> dsif(
+ sk_sp<SkImageFilter> dsif(
SkDropShadowImageFilter::Create(10.0f, 10.0f,
3.0f, 3.0f,
SK_ColorRED, kBoth,
- source, nullptr));
+ source.get(), nullptr));
- add_paint(dsif, paints);
+ add_paint(paints, std::move(dsif));
}
{
- SkAutoTUnref<SkImageFilter> dsif(
+ sk_sp<SkImageFilter> dsif(
SkDropShadowImageFilter::Create(27.0f, 27.0f,
3.0f, 3.0f,
SK_ColorRED,
SkDropShadowImageFilter::kDrawShadowOnly_ShadowMode,
- source, nullptr));
+ source.get(), nullptr));
- add_paint(dsif, paints);
+ add_paint(paints, std::move(dsif));
}
- {
- SkAutoTUnref<SkImageFilter> bif(SkBlurImageFilter::Create(3, 3, source));
-
- add_paint(bif, paints);
- }
-
- {
- sk_sp<SkImageFilter> oif(SkOffsetImageFilter::Make(15, 15,
- sk_ref_sp<SkImageFilter>(source)));
-
- add_paint(oif.get(), paints);
- }
+ add_paint(paints, SkBlurImageFilter::Make(3, 3, source));
+ add_paint(paints, SkOffsetImageFilter::Make(15, 15, source));
}
// This GM visualizes the fast bounds for various combinations of geometry
@@ -243,7 +232,7 @@ protected:
//-----------
// Normal paints (no source)
SkTArray<SkPaint> paints;
- create_paints(nullptr, &paints);
+ create_paints(&paints, nullptr);
//-----------
// Paints with a PictureImageFilter as a source
@@ -257,10 +246,8 @@ protected:
pic = rec.finishRecordingAsPicture();
}
- sk_sp<SkImageFilter> pif(SkPictureImageFilter::Make(pic));
-
SkTArray<SkPaint> pifPaints;
- create_paints(pif.get(), &pifPaints);
+ create_paints(&pifPaints, SkPictureImageFilter::Make(pic));
//-----------
// Paints with a SkImageSource as a source
@@ -278,9 +265,8 @@ protected:
sk_sp<SkImage> image(surface->makeImageSnapshot());
sk_sp<SkImageFilter> imageSource(SkImageSource::Make(std::move(image)));
-
SkTArray<SkPaint> bmsPaints;
- create_paints(imageSource.get(), &bmsPaints);
+ create_paints(&bmsPaints, std::move(imageSource));
//-----------
SkASSERT(paints.count() == kNumVertTiles);