8#ifndef SkRasterClipStack_DEFINED
9#define SkRasterClipStack_DEFINED
20 , fDisableAA(
SkScan::PathRequiresTiling(fRootBounds)) {
29 Rec& rec = fStack.
back();
31 rec.fRC.setRect(fRootBounds);
37 SkDEBUGCODE(fCounter += 1);
39 fStack.
back().fDeferredCount += 1;
43 SkDEBUGCODE(fCounter -= 1);
46 if (--fStack.
back().fDeferredCount < 0) {
54 this->writable_rc().op(
rect, ctm, op, this->finalAA(aa));
59 this->writable_rc().op(
rrect, ctm, op, this->finalAA(aa));
64 this->writable_rc().op(
path, ctm, op, this->finalAA(aa));
69 this->writable_rc().op(std::move(
sh));
74 this->writable_rc().op(rgn, op);
81 this->writable_rc().setEmpty();
83 this->writable_rc().setRect(devRect);
109 SkDEBUGCODE(
int fCounter = 0;)
113 if (fStack.
back().fDeferredCount > 0) {
114 fStack.
back().fDeferredCount -= 1;
117 return fStack.
back().fRC;
120 bool finalAA(
bool aa)
const {
return aa && !fDisableAA; }
static SkPath clip(const SkPath &path, const SkHalfPlane &plane)
const SkRect & getBounds() const
void setNewSize(int w, int h)
void clipShader(sk_sp< SkShader > sh)
void clipPath(const SkMatrix &ctm, const SkPath &path, SkClipOp op, bool aa)
void replaceClip(const SkIRect &rect)
void clipRegion(const SkRegion &rgn, SkClipOp op)
const SkRasterClip & rc() const
SkRasterClipStack(int width, int height)
void clipRect(const SkMatrix &ctm, const SkRect &rect, SkClipOp op, bool aa)
void clipRRect(const SkMatrix &ctm, const SkRRect &rrect, SkClipOp op, bool aa)
T & emplace_back(Args &&... args)
sk_sp< SkBlender > blender SkRect rect
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
bool intersect(const SkIRect &r)
void setXYWH(int32_t x, int32_t y, int32_t width, int32_t height)
bool contains(int32_t x, int32_t y) const