aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/pictureimagefilter.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-11-09 21:50:20 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-11-09 21:50:27 +0000
commit77e487dfc005be66346ebf3e33d3ec394de4cc36 (patch)
tree3cf20f487f1e7f7082044c867d26f1a8c4e7f0b3 /gm/pictureimagefilter.cpp
parent4b56375651f4f00a196e7be0eff2a0c26163f4f9 (diff)
Revert "Revert "Remove MakeForLocalSpace since picture image is sufficient""
This reverts commit fc45998242b6e95ff610fd2c4edcf72c10e536ab. Reason for revert: google3 updated (I think) Original change's description: > Revert "Remove MakeForLocalSpace since picture image is sufficient" > > This reverts commit 0d8766c84c80537f323947089cc196c3cca106f4. > > Reason for revert: broke google3 > > Original change's description: > > Remove MakeForLocalSpace since picture image is sufficient > > > > Bug: skia: > > Change-Id: If38e702c418e93141311490edf447d1f09ed4434 > > Reviewed-on: https://skia-review.googlesource.com/68640 > > Commit-Queue: Mike Reed <reed@google.com> > > Reviewed-by: Florin Malita <fmalita@chromium.org> > > TBR=robertphillips@google.com,fmalita@chromium.org,reed@google.com > > Change-Id: I3dec3d2c704e02b4db5977c27cc3e6d9f1c68ed5 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/69500 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> TBR=robertphillips@google.com,fmalita@chromium.org,reed@google.com Change-Id: I5751fa637d280f361dea0f248a43c1f7e9bd8bdc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/69661 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'gm/pictureimagefilter.cpp')
-rw-r--r--gm/pictureimagefilter.cpp28
1 files changed, 16 insertions, 12 deletions
diff --git a/gm/pictureimagefilter.cpp b/gm/pictureimagefilter.cpp
index 587ed3733b..c9a0d393be 100644
--- a/gm/pictureimagefilter.cpp
+++ b/gm/pictureimagefilter.cpp
@@ -11,6 +11,9 @@
#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,
@@ -70,6 +73,16 @@ 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);
{
@@ -81,14 +94,8 @@ protected:
srcRect));
sk_sp<SkImageFilter> pictureSourceEmptyRect(SkPictureImageFilter::Make(fPicture,
emptyRect));
- sk_sp<SkImageFilter> pictureSourceResampled(SkPictureImageFilter::MakeForLocalSpace(
- fPicture,
- fPicture->cullRect(),
- kLow_SkFilterQuality));
- sk_sp<SkImageFilter> pictureSourcePixelated(SkPictureImageFilter::MakeForLocalSpace(
- fPicture,
- fPicture->cullRect(),
- kNone_SkFilterQuality));
+ sk_sp<SkImageFilter> pictureSourceResampled = make(kLow_SkFilterQuality);
+ sk_sp<SkImageFilter> pictureSourcePixelated = make(kNone_SkFilterQuality);
canvas->save();
// Draw the picture unscaled.
@@ -111,10 +118,7 @@ protected:
canvas->drawRect(bounds, stroke);
SkPaint paint;
- paint.setImageFilter(SkPictureImageFilter::MakeForLocalSpace(
- fLCDPicture,
- fPicture->cullRect(),
- kNone_SkFilterQuality));
+ paint.setImageFilter(make(fLCDPicture, fPicture->cullRect(), kNone_SkFilterQuality));
canvas->scale(4, 4);
canvas->translate(-0.9f*srcRect.fLeft, -2.45f*srcRect.fTop);