diff options
author | reed <reed@google.com> | 2016-01-08 17:21:47 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-01-08 17:21:47 -0800 |
commit | 22471ed134f7ad507ce239f96e265f10864adf58 (patch) | |
tree | 85a57208165e97636ac5bc72dc8a1d4b5caf0dbc /gm | |
parent | 77b6ba3b6e23b84a3a4f3a62812e4a9eb6de4c23 (diff) |
remove SkImage::applyFilter() -- unused, can always re-add later
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1573653002
Review URL: https://codereview.chromium.org/1573653002
Diffstat (limited to 'gm')
-rw-r--r-- | gm/spritebitmap.cpp | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/gm/spritebitmap.cpp b/gm/spritebitmap.cpp index 4f221d49fc..6c438fad11 100644 --- a/gm/spritebitmap.cpp +++ b/gm/spritebitmap.cpp @@ -87,113 +87,3 @@ private: typedef GM INHERITED; }; DEF_GM( return new SpriteBitmapGM; ) - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -#include "SkColorFilterImageFilter.h" -#include "SkModeColorFilter.h" -#include "SkMorphologyImageFilter.h" -#include "SkOffsetImageFilter.h" - -static SkImage* make_image(SkCanvas* rootCanvas) { - SkImageInfo info = SkImageInfo::MakeN32Premul(100, 100); - SkAutoTUnref<SkSurface> surface(rootCanvas->newSurface(info)); - if (!surface) { - surface.reset(SkSurface::NewRaster(info)); - } - - SkPaint paint; - paint.setAntiAlias(true); - paint.setColor(SK_ColorRED); - surface->getCanvas()->drawCircle(50, 50, 50, paint); - return surface->newImageSnapshot(); -} - -static void show_image(SkCanvas* canvas, SkImage* image, const SkIPoint& offset) { - SkScalar x = SkIntToScalar(offset.x()); - SkScalar y = SkIntToScalar(offset.y()); - - SkPaint paint; - paint.setStyle(SkPaint::kStroke_Style); - - SkRect r = SkRect::MakeIWH(image->width(), image->height()); - r.offset(x, y); - // get on pixel-centers to make the hairline land on a numerical stable boundary - r.outset(SK_ScalarHalf, SK_ScalarHalf); - canvas->drawRect(r, paint); - - canvas->drawImage(image, x, y, nullptr); -} - -typedef SkImageFilter* (*ImageFilterFactory)(); - -// +[]{...} did not work on windows (VS) -// (ImageFilterFactory)[]{...} did not work on linux (gcc) -// hence this cast function -template <typename T> ImageFilterFactory IFCCast(T arg) { return arg; } - -// We expect that applying the filter will keep us in the same domain (raster or gpu) -static void check_same_domain(SkImage* a, SkImage* b) { - SkASSERT(a->isTextureBacked() == b->isTextureBacked()); -} - -/** - * Compare output of drawSprite and drawBitmap (esp. clipping and imagefilters) - */ -class ApplyFilterGM : public skiagm::GM { -public: - ApplyFilterGM() {} - -protected: - SkString onShortName() override { - return SkString("apply-filter"); - } - - SkISize onISize() override { - return SkISize::Make(780, 780); - } - - void onDraw(SkCanvas* canvas) override { - SkAutoTUnref<SkImage> image0(make_image(canvas)); - - const ImageFilterFactory factories[] = { - IFCCast([]{ return SkBlurImageFilter::Create(8, 8); }), - IFCCast([]{ SkAutoTUnref<SkColorFilter> cf(SkModeColorFilter::Create(SK_ColorBLUE, - SkXfermode::kSrcIn_Mode)); - return SkColorFilterImageFilter::Create(cf); - }), - IFCCast([]{ return SkDilateImageFilter::Create(8, 8); }), - IFCCast([]{ return SkErodeImageFilter::Create(8, 8); }), - IFCCast([]{ return SkOffsetImageFilter::Create(8, 8); }), - }; - - const SkScalar spacer = image0->width() * 3.0f / 2; - - for (auto&& factory : factories) { - SkAutoTUnref<SkImageFilter> filter(factory()); - - SkIPoint offset1, offset2; - SkAutoTUnref<SkImage> image1(image0->applyFilter(filter, &offset1, true)); - SkAutoTUnref<SkImage> image2(image0->applyFilter(filter, &offset2, false)); - - check_same_domain(image0, image1); - check_same_domain(image0, image2); - - canvas->save(); - canvas->translate(30, 30); - show_image(canvas, image0, SkIPoint::Make(0, 0)); // original - canvas->translate(spacer, 0); - show_image(canvas, image1, offset1); // snug - canvas->translate(spacer, 0); - show_image(canvas, image2, offset2); // not snug - - canvas->restore(); - - canvas->translate(0, spacer); - } - } - -private: - typedef GM INHERITED; -}; -DEF_GM( return new ApplyFilterGM; ) |