aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/pictureimagefilter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gm/pictureimagefilter.cpp')
-rw-r--r--gm/pictureimagefilter.cpp28
1 files changed, 12 insertions, 16 deletions
diff --git a/gm/pictureimagefilter.cpp b/gm/pictureimagefilter.cpp
index c9a0d393be..587ed3733b 100644
--- a/gm/pictureimagefilter.cpp
+++ b/gm/pictureimagefilter.cpp
@@ -11,9 +11,6 @@
#include "SkPictureImageFilter.h"
#include "SkPictureRecorder.h"
-#include "SkImage.h"
-#include "SkImageSource.h"
-
// This GM exercises the SkPictureImageFilter ImageFilter class.
static void fill_rect_filtered(SkCanvas* canvas,
@@ -73,16 +70,6 @@ protected:
fLCDPicture = make_LCD_picture();
}
- sk_sp<SkImageFilter> make(sk_sp<SkPicture> pic, SkRect r, SkFilterQuality fq) {
- SkISize dim = { SkScalarRoundToInt(r.width()), SkScalarRoundToInt(r.height()) };
- auto img = SkImage::MakeFromPicture(pic, dim, nullptr, nullptr,
- SkImage::BitDepth::kU8, SkColorSpace::MakeSRGB());
- return SkImageSource::Make(img, r, r, fq);
- }
- sk_sp<SkImageFilter> make(SkFilterQuality fq) {
- return make(fPicture, fPicture->cullRect(), fq);
- }
-
void onDraw(SkCanvas* canvas) override {
canvas->clear(SK_ColorGRAY);
{
@@ -94,8 +81,14 @@ protected:
srcRect));
sk_sp<SkImageFilter> pictureSourceEmptyRect(SkPictureImageFilter::Make(fPicture,
emptyRect));
- sk_sp<SkImageFilter> pictureSourceResampled = make(kLow_SkFilterQuality);
- sk_sp<SkImageFilter> pictureSourcePixelated = make(kNone_SkFilterQuality);
+ sk_sp<SkImageFilter> pictureSourceResampled(SkPictureImageFilter::MakeForLocalSpace(
+ fPicture,
+ fPicture->cullRect(),
+ kLow_SkFilterQuality));
+ sk_sp<SkImageFilter> pictureSourcePixelated(SkPictureImageFilter::MakeForLocalSpace(
+ fPicture,
+ fPicture->cullRect(),
+ kNone_SkFilterQuality));
canvas->save();
// Draw the picture unscaled.
@@ -118,7 +111,10 @@ protected:
canvas->drawRect(bounds, stroke);
SkPaint paint;
- paint.setImageFilter(make(fLCDPicture, fPicture->cullRect(), kNone_SkFilterQuality));
+ paint.setImageFilter(SkPictureImageFilter::MakeForLocalSpace(
+ fLCDPicture,
+ fPicture->cullRect(),
+ kNone_SkFilterQuality));
canvas->scale(4, 4);
canvas->translate(-0.9f*srcRect.fLeft, -2.45f*srcRect.fTop);