8#ifndef SkSGRenderNode_DEFINED
9#define SkSGRenderNode_DEFINED
52 explicit RenderNode(uint32_t inval_traits = 0);
83 fCanvas = that.fCanvas;
84 fCtx = std::move(that.fCtx);
85 fMaskShader = std::move(that.fMaskShader);
86 fRestoreCount = that.fRestoreCount;
89 that.fRestoreCount = -1;
116 void*
operator new(size_t) =
delete;
117 void*
operator new(size_t,
void*) =
delete;
145 const std::vector<sk_sp<RenderNode>>&
children()
const {
return fChildren; }
150 std::vector<sk_sp<RenderNode>> fChildren;
static const SkMatrix & I()
const std::vector< sk_sp< RenderNode > > & children() const
~CustomRenderNode() override
bool hasChildrenInval() const
CustomRenderNode(std::vector< sk_sp< RenderNode > > &&children)
const SkRect & bounds() const
Node(uint32_t invalTraits)
ScopedRenderContext & operator=(ScopedRenderContext &&that)
const RenderContext * operator->() const
ScopedRenderContext && setFilterIsolation(const SkRect &bounds, const SkMatrix &ctm, sk_sp< SkImageFilter >)
ScopedRenderContext && modulateOpacity(float opacity)
ScopedRenderContext(ScopedRenderContext &&that)
ScopedRenderContext && modulateMaskShader(sk_sp< SkShader >, const SkMatrix &ms_ctm)
ScopedRenderContext && setIsolation(const SkRect &bounds, const SkMatrix &ctm, bool do_isolate)
ScopedRenderContext(SkCanvas *, const RenderContext *)
ScopedRenderContext && modulateColorFilter(sk_sp< SkColorFilter >)
ScopedRenderContext && modulateBlender(sk_sp< SkBlender >)
ScopedRenderContext && modulateShader(sk_sp< SkShader >, const SkMatrix &shader_ctm)
void render(SkCanvas *, const RenderContext *=nullptr) const
virtual const RenderNode * onNodeAt(const SkPoint &p) const =0
const RenderNode * nodeAt(const SkPoint &point) const
virtual void onRender(SkCanvas *, const RenderContext *) const =0
sk_sp< SkBlender > fBlender
sk_sp< SkColorFilter > fColorFilter
void modulatePaint(const SkMatrix &ctm, SkPaint *, bool is_layer_paint=false) const
bool requiresIsolation() const
sk_sp< SkShader > fShader
sk_sp< SkShader > fMaskShader