20class InvalidationController;
26 , fForceClip(force_clip) {
37 fClipNode->clip(canvas, fAntiAlias);
50 const auto clipBounds = fClipNode->revalidate(ic, ctm);
56 fNoop = !fForceClip && fClipNode->asPath().conservativelyContainsRect(childBounds);
static SkPath clip(const SkPath &path, const SkHalfPlane &plane)
void onRender(SkCanvas *, const RenderContext *) const override
SkRect onRevalidate(InvalidationController *, const SkMatrix &) override
ClipEffect(sk_sp< RenderNode >, sk_sp< GeometryNode >, bool aa, bool force_clip)
const RenderNode * onNodeAt(const SkPoint &) const override
const RenderNode * onNodeAt(const SkPoint &) const override
void onRender(SkCanvas *, const RenderContext *) const override
SkRect onRevalidate(InvalidationController *, const SkMatrix &) override
void observeInval(const sk_sp< Node > &)
void unobserveInval(const sk_sp< Node > &)
static constexpr SkRect MakeEmpty()