diff options
author | junov <junov@chromium.org> | 2014-12-09 13:07:22 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-12-09 13:07:22 -0800 |
commit | f3c78ccf5694d22d2e4a7061a80399a7e69b59db (patch) | |
tree | 900dc9fc12f36c832b0eefe01ab54e9ace318bf4 /gm/pictureimagefilter.cpp | |
parent | 4beac7432442d09fda73a62c1114858ec66e8350 (diff) |
Adding an option for pixelated rendering in SkPictureImageFilter
BUG=skia:3209
Review URL: https://codereview.chromium.org/787073003
Diffstat (limited to 'gm/pictureimagefilter.cpp')
-rw-r--r-- | gm/pictureimagefilter.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gm/pictureimagefilter.cpp b/gm/pictureimagefilter.cpp index 712e059a6d..bae94f58f5 100644 --- a/gm/pictureimagefilter.cpp +++ b/gm/pictureimagefilter.cpp @@ -36,7 +36,7 @@ protected: fPicture.reset(recorder.endRecording()); } - virtual SkISize onISize() SK_OVERRIDE { return SkISize::Make(400, 300); } + virtual SkISize onISize() SK_OVERRIDE { return SkISize::Make(600, 300); } virtual void onOnceBeforeDraw() SK_OVERRIDE { this->makePicture(); @@ -64,7 +64,11 @@ protected: SkAutoTUnref<SkPictureImageFilter> pictureSourceEmptyRect( SkPictureImageFilter::Create(fPicture, emptyRect)); SkAutoTUnref<SkPictureImageFilter> pictureSourceResampled( - SkPictureImageFilter::CreateForLocalSpace(fPicture, fPicture->cullRect())); + SkPictureImageFilter::CreateForLocalSpace(fPicture, fPicture->cullRect(), + SkPaint::kLow_FilterLevel)); + SkAutoTUnref<SkPictureImageFilter> pictureSourcePixelated( + SkPictureImageFilter::CreateForLocalSpace(fPicture, fPicture->cullRect(), + SkPaint::kNone_FilterLevel)); canvas->save(); // Draw the picture unscaled. @@ -90,6 +94,10 @@ protected: // Draw the picture scaled, but rasterized at original resolution canvas->translate(srcRect.width(), 0); fillRectFiltered(canvas, srcRect, pictureSourceResampled); + + // Draw the picture scaled, pixelated + canvas->translate(srcRect.width(), 0); + fillRectFiltered(canvas, srcRect, pictureSourcePixelated); } } |