diff options
Diffstat (limited to 'src/core/SkRasterClip.h')
-rw-r--r-- | src/core/SkRasterClip.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/core/SkRasterClip.h b/src/core/SkRasterClip.h index ec38990a0c..8a0681805c 100644 --- a/src/core/SkRasterClip.h +++ b/src/core/SkRasterClip.h @@ -13,11 +13,13 @@ class SkRasterClip { public: - SkRasterClip(); - SkRasterClip(const SkIRect&); + SkRasterClip(bool forceConservativeRects = false); + SkRasterClip(const SkIRect&, bool forceConservativeRects = false); SkRasterClip(const SkRasterClip&); ~SkRasterClip(); + bool isForceConservativeRects() const { return fForceConservativeRects; } + bool isBW() const { return fIsBW; } bool isAA() const { return !fIsBW; } const SkRegion& bwRgn() const { SkASSERT(fIsBW); return fBW; } @@ -41,7 +43,7 @@ public: bool op(const SkIRect&, SkRegion::Op); bool op(const SkRegion&, SkRegion::Op); - bool op(const SkRect&, SkRegion::Op, bool doAA); + bool op(const SkRect&, const SkISize&, SkRegion::Op, bool doAA); bool op(const SkPath&, const SkISize&, SkRegion::Op, bool doAA); void translate(int dx, int dy, SkRasterClip* dst) const; @@ -75,6 +77,7 @@ public: private: SkRegion fBW; SkAAClip fAA; + bool fForceConservativeRects; bool fIsBW; // these 2 are caches based on querying the right obj based on fIsBW bool fIsEmpty; @@ -107,6 +110,7 @@ private: bool setPath(const SkPath& path, const SkRegion& clip, bool doAA); bool setPath(const SkPath& path, const SkIRect& clip, bool doAA); bool op(const SkRasterClip&, SkRegion::Op); + bool setConservativeRect(const SkRect& r, const SkIRect& clipR, bool isInverse); }; class SkAutoRasterClipValidate : SkNoncopyable { |