| Index: tests/ImageFilterTest.cpp
|
| diff --git a/tests/ImageFilterTest.cpp b/tests/ImageFilterTest.cpp
|
| index d3471ad019e46820a423b156fa3f7d8b6b176bb4..3f71b015c56cb18803b5d202236de5d31fbde399 100644
|
| --- a/tests/ImageFilterTest.cpp
|
| +++ b/tests/ImageFilterTest.cpp
|
| @@ -158,6 +158,33 @@ DEF_TEST(ImageFilter, reporter) {
|
| }
|
|
|
| {
|
| + // Check that two non-commutative matrices are concatenated in
|
| + // the correct order.
|
| + SkScalar blueToRedMatrix[20] = { 0 };
|
| + blueToRedMatrix[2] = blueToRedMatrix[18] = SK_Scalar1;
|
| + SkScalar redToGreenMatrix[20] = { 0 };
|
| + redToGreenMatrix[5] = redToGreenMatrix[18] = SK_Scalar1;
|
| + SkAutoTUnref<SkColorFilter> blueToRed(SkColorMatrixFilter::Create(blueToRedMatrix));
|
| + SkAutoTUnref<SkImageFilter> filter1(SkColorFilterImageFilter::Create(blueToRed.get()));
|
| + SkAutoTUnref<SkColorFilter> redToGreen(SkColorMatrixFilter::Create(redToGreenMatrix));
|
| + SkAutoTUnref<SkImageFilter> filter2(SkColorFilterImageFilter::Create(redToGreen.get(), filter1.get()));
|
| +
|
| + SkBitmap result;
|
| + result.allocN32Pixels(kBitmapSize, kBitmapSize);
|
| +
|
| + SkPaint paint;
|
| + paint.setColor(SK_ColorBLUE);
|
| + paint.setImageFilter(filter2.get());
|
| + SkCanvas canvas(result);
|
| + canvas.clear(0x0);
|
| + SkRect rect = SkRect::Make(SkIRect::MakeWH(kBitmapSize, kBitmapSize));
|
| + canvas.drawRect(rect, paint);
|
| + uint32_t pixel = *result.getAddr32(0, 0);
|
| + // The result here should be green, since we have effectively shifted blue to green.
|
| + REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN);
|
| + }
|
| +
|
| + {
|
| // Tests pass by not asserting
|
| SkBitmap bitmap, result;
|
| make_small_bitmap(bitmap);
|
|
|