diff options
author | senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-03-03 14:58:09 +0000 |
---|---|---|
committer | senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-03-03 14:58:09 +0000 |
commit | 47d98c8e85924effc651b09df72027e6801c92a1 (patch) | |
tree | c5c86b63379c49d138210ebedbddb40860a9c17b /gm/imagefiltersclipped.cpp | |
parent | c9b2c885be8d2bb39f1d75cc316278fa8d0fa9f0 (diff) |
Fix CTM scaling and clipping of SkRectShaderImageFilter.
Pass the CTM as part of the local matrix passed by
SkRectShaderImageFilter. Teach SkPerlinNoiseShader to respect the local
matrix. Embiggen imagefiltersscaled GM size to accommodate the new test
cases.
Note: will require rebaselines of imagefiltersscaled and imagefiltersclipped
R=sugoi@chromium.org
BUG=skia:
Review URL: https://codereview.chromium.org/184973007
git-svn-id: http://skia.googlecode.com/svn/trunk@13637 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm/imagefiltersclipped.cpp')
-rw-r--r-- | gm/imagefiltersclipped.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gm/imagefiltersclipped.cpp b/gm/imagefiltersclipped.cpp index 757cd1bf27..bb6cd0471f 100644 --- a/gm/imagefiltersclipped.cpp +++ b/gm/imagefiltersclipped.cpp @@ -14,6 +14,8 @@ #include "SkGradientShader.h" #include "SkMorphologyImageFilter.h" #include "SkOffsetImageFilter.h" +#include "SkPerlinNoiseShader.h" +#include "SkRectShaderImageFilter.h" #include "SkResizeImageFilter.h" #include "SkScalar.h" @@ -87,6 +89,8 @@ protected: SkAutoTUnref<SkImageFilter> gradient(new SkBitmapSource(fGradientCircle)); SkAutoTUnref<SkImageFilter> checkerboard(new SkBitmapSource(fCheckerboard)); + SkAutoTUnref<SkShader> noise(SkPerlinNoiseShader::CreateFractalNoise( + SkDoubleToScalar(0.1), SkDoubleToScalar(0.05), 1, 0)); SkImageFilter* filters[] = { new SkBlurImageFilter(SkIntToScalar(12), SkIntToScalar(12)), @@ -101,6 +105,7 @@ protected: new SkErodeImageFilter(2, 2, checkerboard.get()), new SkOffsetImageFilter(SkIntToScalar(-16), SkIntToScalar(32)), new SkResizeImageFilter(RESIZE_FACTOR_X, RESIZE_FACTOR_Y, SkPaint::kNone_FilterLevel), + SkRectShaderImageFilter::Create(noise), }; SkRect r = SkRect::MakeWH(SkIntToScalar(64), SkIntToScalar(64)); |