Skia
2D Graphics Library
|
Clients outside SkSG looking to implement custom render nodes, should derive from this class instead of RenderNode. More...
#include <SkSGRenderNode.h>
Public Member Functions | |
void | render (SkCanvas *, const RenderContext *=nullptr) const |
const RenderNode * | nodeAt (const SkPoint &point) const |
bool | isVisible () const |
void | setVisible (bool) |
const SkRect & | revalidate (InvalidationController *, const SkMatrix &) |
void | invalidate (bool damage=true) |
bool | unique () const |
May return true if the caller is the only owner. More... | |
void | ref () const |
Increment the reference count. More... | |
void | unref () const |
Decrement the reference count. More... | |
Protected Types | |
enum | InvalTraits { kBubbleDamage_Trait = 1 << 0 , kOverrideDamage_Trait = 1 << 1 } |
Protected Member Functions | |
CustomRenderNode (std::vector< sk_sp< RenderNode >> &&children) | |
~CustomRenderNode () override | |
const std::vector< sk_sp< RenderNode > > & | children () const |
bool | hasChildrenInval () const |
virtual void | onRender (SkCanvas *, const RenderContext *) const =0 |
virtual const RenderNode * | onNodeAt (const SkPoint &p) const =0 |
const SkRect & | bounds () const |
bool | hasInval () const |
virtual SkRect | onRevalidate (InvalidationController *, const SkMatrix &ctm)=0 |
void | observeInval (const sk_sp< Node > &) |
void | unobserveInval (const sk_sp< Node > &) |
Clients outside SkSG looking to implement custom render nodes, should derive from this class instead of RenderNode.
It handles various book-keeping, and provides a controlled extension point.
|
protectedinherited |
|
explicitprotected |
|
overrideprotected |
|
inlineprotectedinherited |
|
inlineprotected |
|
protected |
|
inlineprotectedinherited |
|
inherited |
|
inherited |
|
inherited |
|
protectedpure virtualinherited |
|
protectedpure virtualinherited |
|
protectedpure virtualinherited |
Implemented in sksg::TransformEffect, sksg::Matrix< T >, sksg::Text, sksg::ImageFilterEffect, sksg::ShaderEffect, sksg::RRect, sksg::Rect, sksg::Plane, sksg::Path, sksg::ShaderPaint, sksg::Color, sksg::OpacityEffect, sksg::Merge, sksg::MaskEffect, sksg::Image, sksg::Group, sksg::EffectNode, sksg::Draw, sksg::ClipEffect, sksg::ImageFilter, sksg::Shader, sksg::GeometryEffect, and sksg::ColorFilter.
|
inlineinherited |
Increment the reference count.
Must be balanced by a call to unref().
|
inherited |
|
inherited |
|
inherited |
|
inlineinherited |
May return true if the caller is the only owner.
Ensures that all previous owner's actions are complete.
|
inlineinherited |
Decrement the reference count.
If the reference count is 1 before the decrement, then delete the object. Note that if this is the case, then the object needs to have been allocated via new, and not on the stack.
|
inherited |
|
inherited |