Index: include/core/SkCanvas.h |
diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h |
index f514d18b5ee89e113a54035e7e5d9f8a7db9e59d..5088d7ded5268b9e86808c3c7d0148c7bcc891a4 100644 |
--- a/include/core/SkCanvas.h |
+++ b/include/core/SkCanvas.h |
@@ -1265,11 +1265,6 @@ protected: |
SkIRect* intersection, |
const SkImageFilter* imageFilter = NULL); |
- // Called by child classes that override clipPath and clipRRect to only |
- // track fast conservative clip bounds, rather than exact clips. |
- void updateClipConservativelyUsingBounds(const SkRect&, SkRegion::Op, |
- bool inverseFilled); |
- |
// notify our surface (if we have one) that we are about to draw, so it |
// can perform copy-on-write or invalidate any cached images |
void predrawNotify(); |
@@ -1309,13 +1304,22 @@ private: |
friend class SkDebugCanvas; // needs experimental fAllowSimplifyClip |
friend class SkDeferredDevice; // needs getTopDevice() |
friend class SkSurface_Raster; // needs getDevice() |
+ friend class SkRecorder; // InitFlags |
+ friend class SkNoSaveLayerCanvas; // InitFlags |
+ enum InitFlags { |
+ kDefault_InitFlags = 0, |
+ kConservativeRasterClip_InitFlag = 1 << 0, |
+ }; |
+ SkCanvas(int width, int height, InitFlags flags); |
+ SkCanvas(SkBaseDevice*, InitFlags flags); |
+ |
// needs gettotalclip() |
friend SkCanvasState* SkCanvasStateUtils::CaptureCanvasState(SkCanvas*); |
SkBaseDevice* createLayerDevice(const SkImageInfo&); |
- SkBaseDevice* init(SkBaseDevice*); |
+ SkBaseDevice* init(SkBaseDevice*, InitFlags); |
/** |
* DEPRECATED |
@@ -1365,6 +1369,7 @@ private: |
mutable bool fCachedLocalClipBoundsDirty; |
bool fAllowSoftClip; |
bool fAllowSimplifyClip; |
+ bool fConservativeRasterClip; |
const SkRect& getLocalClipBounds() const { |
if (fCachedLocalClipBoundsDirty) { |