From f3c78ccf5694d22d2e4a7061a80399a7e69b59db Mon Sep 17 00:00:00 2001 From: junov Date: Tue, 9 Dec 2014 13:07:22 -0800 Subject: Adding an option for pixelated rendering in SkPictureImageFilter BUG=skia:3209 Review URL: https://codereview.chromium.org/787073003 --- gm/pictureimagefilter.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'gm') 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 pictureSourceEmptyRect( SkPictureImageFilter::Create(fPicture, emptyRect)); SkAutoTUnref pictureSourceResampled( - SkPictureImageFilter::CreateForLocalSpace(fPicture, fPicture->cullRect())); + SkPictureImageFilter::CreateForLocalSpace(fPicture, fPicture->cullRect(), + SkPaint::kLow_FilterLevel)); + SkAutoTUnref 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); } } -- cgit v1.2.3