76 while ((element = iter.
next()) !=
nullptr) {
77 if (element->
isAA()) {
100 bool isIntersectionOfRects;
108 bool isIntersectionOfRects;
119 while (
auto elem = iter.
next()) {
121 elem->asDeviceSpacePath(&tmpPath);
123 tmpRgn.
setPath(tmpPath, boundsRgn);
124 if (elem->isReplaceOp()) {
129 rgn->
setRect(elem->getDeviceSpaceRect().round());
static bool contains(const SkRect &r, SkPoint p)
bool isClipAntiAliased() const override
bool isClipWideOpen() const override
void clipPath(const SkPath &path, SkClipOp, bool aa) override
bool isClipEmpty() const override
void android_utils_clipAsRgn(SkRegion *) const override
void popClipStack() override
void pushClipStack() override
void replaceClip(const SkIRect &rect) override
void clipRRect(const SkRRect &rrect, SkClipOp, bool aa) override
void clipRect(const SkRect &rect, SkClipOp, bool aa) override
void onClipShader(sk_sp< SkShader >) override
SkIRect devClipBounds() const override
void clipRegion(const SkRegion &deviceRgn, SkClipOp) override
bool isClipRect() const override
bool isAA() const
Inverts the fill of the clip shape. Note that a kEmpty element remains kEmpty.
void clipRect(const SkRect &, const SkMatrix &matrix, SkClipOp, bool doAA)
void clipShader(sk_sp< SkShader >)
void clipRRect(const SkRRect &, const SkMatrix &matrix, SkClipOp, bool doAA)
bool quickContains(const SkRect &devRect) const
void getBounds(SkRect *canvFiniteBound, BoundsType *boundType, bool *isIntersectionOfRects=nullptr) const
bool isEmpty(const SkIRect &deviceBounds) const
void clipPath(const SkPath &, const SkMatrix &matrix, SkClipOp, bool doAA)
SkRect bounds(const SkIRect &deviceBounds) const
void replaceClip(const SkRect &devRect, bool doAA)
const SkImageInfo & imageInfo() const
SkIPoint getOrigin() const
const SkM44 & globalToDevice() const
const SkMatrix & localToDevice() const
static SkRect MapRect(const SkM44 &m, const SkRect &r)
static SkMatrix Translate(SkScalar dx, SkScalar dy)
static const SkMatrix & I()
const SkRect & rect() const
bool getBoundaryPath(SkPath *path) const
bool op(const SkIRect &rect, Op op)
bool setRect(const SkIRect &rect)
bool setPath(const SkPath &path, const SkRegion &clip)
static constexpr SkIRect MakeWH(int32_t w, int32_t h)
static SkRect Make(const SkISize &size)
static SkRect MakeIWH(int w, int h)
void roundOut(SkIRect *dst) const