Index: src/core/SkCanvas.cpp |
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp |
index e53a104c47fa28406f1d440dbcd670365d877a24..31af0a10f3eac0dfc7242fc5e0873c9d95d8ddb2 100644 |
--- a/src/core/SkCanvas.cpp |
+++ b/src/core/SkCanvas.cpp |
@@ -50,8 +50,6 @@ |
#define RETURN_ON_NULL(ptr) do { if (nullptr == (ptr)) return; } while (0) |
-//#define SK_SUPPORT_PRECHECK_CLIPRECT |
- |
/* |
* Return true if the drawing this rect would hit every pixels in the canvas. |
* |
@@ -123,7 +121,6 @@ bool SkCanvas::Internal_Private_GetTreatSpriteAsBitmap() { |
} |
// experimental for faster tiled drawing... |
-//#define SK_ENABLE_CLIP_QUICKREJECT |
//#define SK_TRACE_SAVERESTORE |
#ifdef SK_TRACE_SAVERESTORE |
@@ -1548,56 +1545,18 @@ void SkCanvas::clipRect(const SkRect& rect, SkRegion::Op op, bool doAA) { |
doAA = false; |
} |
-#ifdef SK_SUPPORT_PRECHECK_CLIPRECT |
- // Check if we can quick-accept the clip call (and do nothing) |
- // |
- if (SkRegion::kIntersect_Op == op && !doAA && fMCRec->fMatrix.isScaleTranslate()) { |
- SkRect devR; |
- fMCRec->fMatrix.mapRectScaleTranslate(&devR, rect); |
- // NOTE: this check is CTM specific, since we might round differently with a different |
- // CTM. Thus this is only 100% reliable if there is not global CTM scale to be |
- // applied later (i.e. if this is going into a picture). |
- if (devR.round().contains(fMCRec->fRasterClip.getBounds())) { |
-#if 0 |
- SkDebugf("ignored clipRect [%g %g %g %g]\n", |
- rect.left(), rect.top(), rect.right(), rect.bottom()); |
-#endif |
- return; |
- } |
- } |
-#endif |
- |
this->checkForDeferredSave(); |
ClipEdgeStyle edgeStyle = doAA ? kSoft_ClipEdgeStyle : kHard_ClipEdgeStyle; |
this->onClipRect(rect, op, edgeStyle); |
} |
void SkCanvas::onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle edgeStyle) { |
-#ifdef SK_ENABLE_CLIP_QUICKREJECT |
- if (SkRegion::kIntersect_Op == op) { |
- if (fMCRec->fRasterClip.isEmpty()) { |
- return; |
- } |
- |
- if (this->quickReject(rect)) { |
- fDeviceCMDirty = true; |
- fCachedLocalClipBoundsDirty = true; |
- |
- fClipStack->clipEmpty(); |
- (void)fMCRec->fRasterClip.setEmpty(); |
- fDeviceClipBounds.setEmpty(); |
- return; |
- } |
- } |
-#endif |
- |
const bool isScaleTrans = fMCRec->fMatrix.isScaleTranslate(); |
SkRect devR; |
if (isScaleTrans) { |
fMCRec->fMatrix.mapRectScaleTranslate(&devR, rect); |
} |
-#ifndef SK_SUPPORT_PRECHECK_CLIPRECT |
if (SkRegion::kIntersect_Op == op && |
kHard_ClipEdgeStyle == edgeStyle |
&& isScaleTrans) |
@@ -1610,7 +1569,6 @@ void SkCanvas::onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle edg |
return; |
} |
} |
-#endif |
AutoValidateClip avc(this); |
@@ -1696,24 +1654,6 @@ void SkCanvas::clipPath(const SkPath& path, SkRegion::Op op, bool doAA) { |
} |
void SkCanvas::onClipPath(const SkPath& path, SkRegion::Op op, ClipEdgeStyle edgeStyle) { |
-#ifdef SK_ENABLE_CLIP_QUICKREJECT |
- if (SkRegion::kIntersect_Op == op && !path.isInverseFillType()) { |
- if (fMCRec->fRasterClip.isEmpty()) { |
- return; |
- } |
- |
- if (this->quickReject(path.getBounds())) { |
- fDeviceCMDirty = true; |
- fCachedLocalClipBoundsDirty = true; |
- |
- fClipStack->clipEmpty(); |
- (void)fMCRec->fRasterClip.setEmpty(); |
- fDeviceClipBounds.setEmpty(); |
- return; |
- } |
- } |
-#endif |
- |
AutoValidateClip avc(this); |
fDeviceCMDirty = true; |