aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/pictureimagefilter.cpp
diff options
context:
space:
mode:
authorGravatar junov <junov@chromium.org>2014-12-09 13:07:22 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2014-12-09 13:07:22 -0800
commitf3c78ccf5694d22d2e4a7061a80399a7e69b59db (patch)
tree900dc9fc12f36c832b0eefe01ab54e9ace318bf4 /gm/pictureimagefilter.cpp
parent4beac7432442d09fda73a62c1114858ec66e8350 (diff)
Adding an option for pixelated rendering in SkPictureImageFilter
Diffstat (limited to 'gm/pictureimagefilter.cpp')
-rw-r--r--gm/pictureimagefilter.cpp12
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);
}
}