| Index: gm/imagefilterstransformed.cpp
|
| diff --git a/gm/imagefilterstransformed.cpp b/gm/imagefilterstransformed.cpp
|
| index ce7ba5d6e0793faa1f1c8964429925a3acde515b..7ceff001351e1cba1944c72313d2d2b2b953c7cb 100644
|
| --- a/gm/imagefilterstransformed.cpp
|
| +++ b/gm/imagefilterstransformed.cpp
|
| @@ -113,9 +113,49 @@ private:
|
| sk_sp<SkImage> fGradientCircle;
|
| typedef GM INHERITED;
|
| };
|
| +DEF_GM( return new ImageFiltersTransformedGM; )
|
| +}
|
|
|
| //////////////////////////////////////////////////////////////////////////////
|
| +#include "SkXfermodeImageFilter.h"
|
|
|
| -DEF_GM( return new ImageFiltersTransformedGM; )
|
| +DEF_SIMPLE_GM(rotate_imagefilter, canvas, 500, 500) {
|
| + SkPaint paint;
|
|
|
| + const SkRect r = SkRect::MakeXYWH(50, 50, 100, 100);
|
| +
|
| + sk_sp<SkImageFilter> filters[] = {
|
| + nullptr,
|
| + SkBlurImageFilter::Make(6, 0, nullptr),
|
| + SkXfermodeImageFilter::Make(SkXfermode::Make(SkXfermode::kSrcOver_Mode), nullptr),
|
| + };
|
| +
|
| + for (auto& filter : filters) {
|
| + paint.setAntiAlias(false);
|
| + paint.setImageFilter(filter);
|
| +
|
| + canvas->save();
|
| +
|
| + canvas->drawRect(r, paint);
|
| +
|
| + canvas->translate(150, 0);
|
| + canvas->save();
|
| + canvas->translate(100, 100);
|
| + canvas->rotate(30);
|
| + canvas->translate(-100, -100);
|
| + canvas->drawRect(r, paint);
|
| + canvas->restore();
|
| +
|
| + paint.setAntiAlias(true);
|
| + canvas->translate(150, 0);
|
| + canvas->save();
|
| + canvas->translate(100, 100);
|
| + canvas->rotate(30);
|
| + canvas->translate(-100, -100);
|
| + canvas->drawRect(r, paint);
|
| + canvas->restore();
|
| +
|
| + canvas->restore();
|
| + canvas->translate(0, 150);
|
| + }
|
| }
|
|
|