///////////////////////////////////////////////////////////////////////////////
+static const SkIRect gHugeIRect = {
+ SK_MinS32, SK_MinS32, SK_MaxS32, SK_MaxS32
+};
+
+/**
+ * If the caller is drawing an inverse-fill path, then it shouldn't pass a
+ * huge rect for ir, since the path draws "everywhere".
+ */
SkScanClipper::SkScanClipper(SkBlitter* blitter, const SkRegion* clip,
const SkIRect& ir) {
fBlitter = NULL; // null means blit nothing
return;
}
- SkScanClipper clipper(blitter, clipPtr, ir);
+ SkScanClipper clipper(blitter, clipPtr,
+ path.isInverseFillType() ? gHugeIRect : ir);
blitter = clipper.getBlitter();
if (blitter) {