| Index: gm/imagefilters.cpp
|
| diff --git a/gm/imagefilters.cpp b/gm/imagefilters.cpp
|
| index 951a934d8210614daf9ad41262ca8e7cf0dda8bb..5f1ae849490dd8971a99ab656d7f4b8bca48c255 100644
|
| --- a/gm/imagefilters.cpp
|
| +++ b/gm/imagefilters.cpp
|
| @@ -104,77 +104,3 @@
|
| canvas->translate(r.width() + 20, 0);
|
| }
|
| }
|
| -
|
| -///////////////////////////////////////////////////////////////////////////////////////////////////
|
| -#include "Resources.h"
|
| -#include "SkBlurImageFilter.h"
|
| -#include "SkMatrixConvolutionImageFilter.h"
|
| -#include "SkMorphologyImageFilter.h"
|
| -#include "SkColorMatrixFilter.h"
|
| -#include "SkColorFilterImageFilter.h"
|
| -#include "SkRRect.h"
|
| -
|
| -static void draw_set(SkCanvas* canvas, SkImageFilter* filters[], int count) {
|
| - const SkRect r = SkRect::MakeXYWH(30, 30, 200, 200);
|
| - const SkScalar offset = 250;
|
| - SkScalar dx = 0, dy = 0;
|
| -
|
| - for (int i = 0; i < count; ++i) {
|
| - canvas->save();
|
| - SkRRect rr = SkRRect::MakeRectXY(r.makeOffset(dx, dy), 20, 20);
|
| - canvas->clipRRect(rr, SkRegion::kIntersect_Op, true);
|
| - canvas->saveLayer({ &rr.getBounds(), nullptr, filters[i], 0 });
|
| - canvas->drawColor(0x40FFFFFF);
|
| - canvas->restore();
|
| - canvas->restore();
|
| -
|
| - if (0 == dx) {
|
| - dx = offset;
|
| - } else {
|
| - dx = 0;
|
| - dy = offset;
|
| - }
|
| - }
|
| -}
|
| -
|
| -DEF_SIMPLE_GM(savelayer_with_backdrop, canvas, 830, 550) {
|
| - SkColorMatrix cm;
|
| - cm.setSaturation(10);
|
| - SkAutoTUnref<SkColorFilter> cf(SkColorMatrixFilter::Create(cm));
|
| - const SkScalar kernel[] = { 4, 0, 4, 0, -15, 0, 4, 0, 4 };
|
| - SkImageFilter* filters[] = {
|
| - SkBlurImageFilter::Create(10, 10),
|
| - SkDilateImageFilter::Create(8, 8),
|
| - SkMatrixConvolutionImageFilter::Create({ 3, 3 }, kernel, 1, 0, { 0, 0 },
|
| - SkMatrixConvolutionImageFilter::kClampToBlack_TileMode,
|
| - true),
|
| - SkColorFilterImageFilter::Create(cf),
|
| - };
|
| -
|
| - const struct {
|
| - SkScalar fSx, fSy, fTx, fTy;
|
| - } xforms[] = {
|
| - { 1, 1, 0, 0 },
|
| - { 0.5f, 0.5f, 530, 0 },
|
| - { 0.25f, 0.25f, 530, 275 },
|
| - { 0.125f, 0.125f, 530, 420 },
|
| - };
|
| -
|
| - SkPaint paint;
|
| - paint.setFilterQuality(kMedium_SkFilterQuality);
|
| - SkAutoTUnref<SkImage> image(GetResourceAsImage("mandrill_512.png"));
|
| -
|
| - canvas->translate(20, 20);
|
| - for (const auto& xform : xforms) {
|
| - canvas->save();
|
| - canvas->translate(xform.fTx, xform.fTy);
|
| - canvas->scale(xform.fSx, xform.fSy);
|
| - canvas->drawImage(image, 0, 0, &paint);
|
| - draw_set(canvas, filters, SK_ARRAY_COUNT(filters));
|
| - canvas->restore();
|
| - }
|
| -
|
| - for (auto& filter : filters) {
|
| - filter->unref();
|
| - }
|
| -}
|
|
|