25 return static_cast<uint32_t
>(
mode) & 1;
29 return static_cast<uint32_t
>(
mode) & 2;
34 , fMaskNode(
std::move(mask))
71 fMaskNode->render(canvas, &mask_render_context);
98 const auto maskBounds = fMaskNode->revalidate(ic, ctm);
101 return (
is_inverted(fMaskMode) || childBounds.intersect(maskBounds))
static constexpr bool SkToBool(const T &x)
int saveLayer(const SkRect *bounds, const SkPaint *paint)
SkMatrix getTotalMatrix() const
void setBlendMode(SkBlendMode mode)
const RenderNode * onNodeAt(const SkPoint &) const override
void onRender(SkCanvas *, const RenderContext *) const override
SkRect onRevalidate(InvalidationController *, const SkMatrix &) override
const RenderNode * onNodeAt(const SkPoint &) const override
MaskEffect(sk_sp< RenderNode >, sk_sp< RenderNode > mask, Mode)
SkRect onRevalidate(InvalidationController *, const SkMatrix &) override
void onRender(SkCanvas *, const RenderContext *) const override
void observeInval(const sk_sp< Node > &)
void unobserveInval(const sk_sp< Node > &)
const SkRect & bounds() const
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive mode
static bool is_inverted(sksg::MaskEffect::Mode mode)
static bool is_luma(sksg::MaskEffect::Mode mode)
static sk_sp< SkColorFilter > Make()
static constexpr SkRect MakeEmpty()
sk_sp< SkColorFilter > fColorFilter
void modulatePaint(const SkMatrix &ctm, SkPaint *, bool is_layer_paint=false) const