Index: gm/xfermodeimagefilter.cpp |
diff --git a/gm/xfermodeimagefilter.cpp b/gm/xfermodeimagefilter.cpp |
index 90e2dd0c2b7f035f0d3d85538e2cf37e8a697b2e..5603c784560f22686dcd4d43e597dc795f307342 100644 |
--- a/gm/xfermodeimagefilter.cpp |
+++ b/gm/xfermodeimagefilter.cpp |
@@ -183,6 +183,18 @@ protected: |
x = 0; |
y += fBitmap.height() + MARGIN; |
} |
+ // Test small fg, large bg with SrcIn with a crop that forces it to full size. |
+ // This tests that SkXfermodeImageFilter correctly applies the compositing mode to |
+ // the region outside the foreground. |
+ mode = SkXfermode::Make(SkXfermode::kSrcIn_Mode); |
+ SkImageFilter::CropRect cropRectFull(SkRect::MakeXYWH(0, 0, 80, 80)); |
+ paint.setImageFilter(SkXfermodeImageFilter::Make(mode, background, cropped, &cropRectFull)); |
+ DrawClippedPaint(canvas, clipRect, paint, x, y); |
+ x += fBitmap.width() + MARGIN; |
+ if (x + fBitmap.width() > WIDTH) { |
+ x = 0; |
+ y += fBitmap.height() + MARGIN; |
+ } |
} |
private: |