| Index: tests/ImageFilterTest.cpp
|
| diff --git a/tests/ImageFilterTest.cpp b/tests/ImageFilterTest.cpp
|
| index f87f99ce98cc4e6dbe9d69daa8b6df1cd3f5c57f..778cc3f4343307ffe0de85d437bcb5a7416052f4 100644
|
| --- a/tests/ImageFilterTest.cpp
|
| +++ b/tests/ImageFilterTest.cpp
|
| @@ -469,6 +469,50 @@ DEF_TEST(ImageFilterDrawMatrixBBH, reporter) {
|
| }
|
| }
|
|
|
| +static SkImageFilter* makeBlur(SkImageFilter* input = NULL) {
|
| + return SkBlurImageFilter::Create(SK_Scalar1, SK_Scalar1, input);
|
| +}
|
| +
|
| +static SkImageFilter* makeDropShadow(SkImageFilter* input = NULL) {
|
| + return SkDropShadowImageFilter::Create(
|
| + SkIntToScalar(100), SkIntToScalar(100),
|
| + SkIntToScalar(10), SkIntToScalar(10),
|
| + SK_ColorBLUE, input);
|
| +}
|
| +
|
| +DEF_TEST(ImageFilterBlurThenShadowBounds, reporter) {
|
| + SkAutoTUnref<SkImageFilter> filter1(makeBlur());
|
| + SkAutoTUnref<SkImageFilter> filter2(makeDropShadow(filter1.get()));
|
| +
|
| + SkIRect bounds = SkIRect::MakeXYWH(0, 0, 100, 100);
|
| + SkIRect expectedBounds = SkIRect::MakeXYWH(-133, -133, 236, 236);
|
| + filter2->filterBounds(bounds, SkMatrix::I(), &bounds);
|
| +
|
| + REPORTER_ASSERT(reporter, bounds == expectedBounds);
|
| +}
|
| +
|
| +DEF_TEST(ImageFilterShadowThenBlurBounds, reporter) {
|
| + SkAutoTUnref<SkImageFilter> filter1(makeDropShadow());
|
| + SkAutoTUnref<SkImageFilter> filter2(makeBlur(filter1.get()));
|
| +
|
| + SkIRect bounds = SkIRect::MakeXYWH(0, 0, 100, 100);
|
| + SkIRect expectedBounds = SkIRect::MakeXYWH(-133, -133, 236, 236);
|
| + filter2->filterBounds(bounds, SkMatrix::I(), &bounds);
|
| +
|
| + REPORTER_ASSERT(reporter, bounds == expectedBounds);
|
| +}
|
| +
|
| +DEF_TEST(ImageFilterDilateThenBlurBounds, reporter) {
|
| + SkAutoTUnref<SkImageFilter> filter1(SkDilateImageFilter::Create(2, 2));
|
| + SkAutoTUnref<SkImageFilter> filter2(makeDropShadow(filter1.get()));
|
| +
|
| + SkIRect bounds = SkIRect::MakeXYWH(0, 0, 100, 100);
|
| + SkIRect expectedBounds = SkIRect::MakeXYWH(-132, -132, 234, 234);
|
| + filter2->filterBounds(bounds, SkMatrix::I(), &bounds);
|
| +
|
| + REPORTER_ASSERT(reporter, bounds == expectedBounds);
|
| +}
|
| +
|
| static void drawBlurredRect(SkCanvas* canvas) {
|
| SkAutoTUnref<SkImageFilter> filter(SkBlurImageFilter::Create(SkIntToScalar(8), 0));
|
| SkPaint filterPaint;
|
|
|