diff options
author | senorblanco <senorblanco@chromium.org> | 2014-10-27 13:38:12 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-27 13:38:13 -0700 |
commit | ba036cc82b5a543a13cafd11a19ba0e3087fca38 (patch) | |
tree | c7157eb624d51eaed59a349d5d219fe8bd2c5ed7 /tests | |
parent | a9a80e5f427e02efe7289f3784cf047d12a0b5bd (diff) |
Fix bounds computation of all 0-input filters.
The SkRectShaderImageFilter had the same bug as previously fixed for
SkBitmapSource and SkPictureImageFilter. Rather than copy-and-paste
the implementation, this change makes all filters with 0 inputs return
their source bounds, instead of returning false.
BUG=427251
Review URL: https://codereview.chromium.org/681643003
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ImageFilterTest.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/ImageFilterTest.cpp b/tests/ImageFilterTest.cpp index 778230b5d6..e032a810ca 100644 --- a/tests/ImageFilterTest.cpp +++ b/tests/ImageFilterTest.cpp @@ -23,11 +23,13 @@ #include "SkMergeImageFilter.h" #include "SkMorphologyImageFilter.h" #include "SkOffsetImageFilter.h" +#include "SkPerlinNoiseShader.h" #include "SkPicture.h" #include "SkPictureImageFilter.h" #include "SkPictureRecorder.h" #include "SkReadBuffer.h" #include "SkRect.h" +#include "SkRectShaderImageFilter.h" #include "SkTileImageFilter.h" #include "SkXfermodeImageFilter.h" #include "Test.h" @@ -399,6 +401,9 @@ DEF_TEST(ImageFilterDrawTiled, reporter) { recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeXYWH(10, 10, 30, 20)), greenPaint); SkAutoTUnref<SkPicture> picture(recorder.endRecording()); SkAutoTUnref<SkImageFilter> pictureFilter(SkPictureImageFilter::Create(picture.get())); + SkAutoTUnref<SkShader> shader(SkPerlinNoiseShader::CreateTurbulence(SK_Scalar1, SK_Scalar1, 1, 0)); + + SkAutoTUnref<SkImageFilter> rectShaderFilter(SkRectShaderImageFilter::Create(shader.get())); struct { const char* fName; @@ -430,6 +435,7 @@ DEF_TEST(ImageFilterDrawTiled, reporter) { { "matrix", SkMatrixImageFilter::Create(matrix, SkPaint::kLow_FilterLevel) }, { "blur and offset", SkOffsetImageFilter::Create(five, five, blur.get()) }, { "picture and blur", SkBlurImageFilter::Create(five, five, pictureFilter.get()) }, + { "rect shader and blur", SkBlurImageFilter::Create(five, five, rectShaderFilter.get()) }, }; SkBitmap untiledResult, tiledResult; |