From 6e7025ab13dfc4f0037233e67b4b8e18d6dfd1e1 Mon Sep 17 00:00:00 2001 From: robertphillips Date: Mon, 4 Apr 2016 04:31:25 -0700 Subject: Update SkBlurImageFilter to sk_sp TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852743002 Review URL: https://codereview.chromium.org/1852743002 --- gm/filterfastbounds.cpp | 58 +++++++++++++++++++------------------------------ 1 file changed, 22 insertions(+), 36 deletions(-) (limited to 'gm/filterfastbounds.cpp') 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* paints) { +static void add_paint(SkTArray* paints, sk_sp 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* paints) { +static void create_paints(SkTArray* paints, sk_sp source) { { SkMatrix scale; scale.setScale(2.0f, 2.0f); - SkAutoTUnref scaleMIF( - SkImageFilter::CreateMatrixFilter(scale, kLow_SkFilterQuality, source)); + sk_sp 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 rotMIF( - SkImageFilter::CreateMatrixFilter(rot, kLow_SkFilterQuality, source)); + sk_sp 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 tileIF( - SkTileImageFilter::Create(src, dst, nullptr)); + sk_sp 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 dsif( + sk_sp 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 dsif( + sk_sp 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 bif(SkBlurImageFilter::Create(3, 3, source)); - - add_paint(bif, paints); - } - - { - sk_sp oif(SkOffsetImageFilter::Make(15, 15, - sk_ref_sp(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 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 pif(SkPictureImageFilter::Make(pic)); - SkTArray 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 image(surface->makeImageSnapshot()); sk_sp imageSource(SkImageSource::Make(std::move(image))); - SkTArray bmsPaints; - create_paints(imageSource.get(), &bmsPaints); + create_paints(&bmsPaints, std::move(imageSource)); //----------- SkASSERT(paints.count() == kNumVertTiles); -- cgit v1.2.3