| Index: gm/xfermodes.cpp
|
| ===================================================================
|
| --- gm/xfermodes.cpp (revision 12933)
|
| +++ gm/xfermodes.cpp (working copy)
|
| @@ -66,8 +66,10 @@
|
| kQuarterClearInLayer_SrcType = 0x20,
|
| //! A W/2xH/2 transparent image.
|
| kSmallTransparentImage_SrcType = 0x40,
|
| + //! kRectangleImage_SrcType drawn directly with a mask.
|
| + kRectangleWithMask_SrcType = 0x80,
|
|
|
| - kAll_SrcType = 0x7F, //!< All the source types.
|
| + kAll_SrcType = 0xFF, //!< All the source types.
|
| kBasic_SrcType = 0x03, //!< Just basic source types.
|
| };
|
|
|
| @@ -112,6 +114,15 @@
|
| canvas->drawRect(r, p);
|
| break;
|
| }
|
| + case kRectangleWithMask_SrcType: {
|
| + canvas->save(SkCanvas::kClip_SaveFlag);
|
| + restoreNeeded = true;
|
| + SkScalar w = SkIntToScalar(W);
|
| + SkScalar h = SkIntToScalar(H);
|
| + SkRect r = SkRect::MakeXYWH(x, y + h / 4, w, h * 23 / 60);
|
| + canvas->clipRect(r);
|
| + // Fall through.
|
| + }
|
| case kRectangle_SrcType: {
|
| SkScalar w = SkIntToScalar(W);
|
| SkScalar h = SkIntToScalar(H);
|
|
|