diff options
author | Mike Reed <reed@google.com> | 2017-11-09 21:50:20 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-11-09 21:50:27 +0000 |
commit | 77e487dfc005be66346ebf3e33d3ec394de4cc36 (patch) | |
tree | 3cf20f487f1e7f7082044c867d26f1a8c4e7f0b3 /gm/pictureimagefilter.cpp | |
parent | 4b56375651f4f00a196e7be0eff2a0c26163f4f9 (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.cpp | 28 |
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); |