Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Protected Member Functions | List of all members
sksg::EffectNode Class Reference

#include <SkSGEffectNode.h>

Inheritance diagram for sksg::EffectNode:
sksg::RenderNode sksg::Node SkRefCnt SkRefCntBase sksg::BlenderEffect sksg::ClipEffect sksg::ColorFilter sksg::ExternalColorFilter sksg::ImageFilterEffect sksg::LayerEffect sksg::MaskEffect sksg::MaskShaderEffect sksg::OpacityEffect sksg::ShaderEffect sksg::TransformEffect

Protected Member Functions

 EffectNode (sk_sp< RenderNode >, uint32_t inval_traits=0)
 
 ~EffectNode () override
 
void onRender (SkCanvas *, const RenderContext *) const override
 
const RenderNodeonNodeAt (const SkPoint &) const override
 
SkRect onRevalidate (InvalidationController *, const SkMatrix &) override
 
const sk_sp< RenderNode > & getChild () const
 
- Protected Member Functions inherited from sksg::RenderNode
 RenderNode (uint32_t inval_traits=0)
 
- Protected Member Functions inherited from sksg::Node
 Node (uint32_t invalTraits)
 
 ~Node () override
 
const SkRectbounds () const
 
bool hasInval () const
 
void observeInval (const sk_sp< Node > &)
 
void unobserveInval (const sk_sp< Node > &)
 

Additional Inherited Members

- Public Member Functions inherited from sksg::RenderNode
void render (SkCanvas *, const RenderContext *=nullptr) const
 
const RenderNodenodeAt (const SkPoint &point) const
 
bool isVisible () const
 
void setVisible (bool)
 
- Public Member Functions inherited from sksg::Node
const SkRectrevalidate (InvalidationController *, const SkMatrix &)
 
void invalidate (bool damage=true)
 
- Public Member Functions inherited from SkRefCntBase
 SkRefCntBase ()
 
virtual ~SkRefCntBase ()
 
bool unique () const
 
void ref () const
 
void unref () const
 
- Protected Types inherited from sksg::Node
enum  InvalTraits { kBubbleDamage_Trait = 1 << 0 , kOverrideDamage_Trait = 1 << 1 }
 

Detailed Description

Base class for nodes which apply some transformation when rendering their descendants.

This includes transforms, clipping, filters, etc.

Definition at line 30 of file SkSGEffectNode.h.

Constructor & Destructor Documentation

◆ EffectNode()

sksg::EffectNode::EffectNode ( sk_sp< RenderNode child,
uint32_t  inval_traits = 0 
)
explicitprotected

Definition at line 21 of file SkSGEffectNode.cpp.

22 : INHERITED(inval_traits)
23 , fChild(std::move(child)) {
24 this->observeInval(fChild);
25}
void observeInval(const sk_sp< Node > &)
Definition SkSGNode.cpp:61

◆ ~EffectNode()

sksg::EffectNode::~EffectNode ( )
overrideprotected

Definition at line 27 of file SkSGEffectNode.cpp.

27 {
28 this->unobserveInval(fChild);
29}
void unobserveInval(const sk_sp< Node > &)
Definition SkSGNode.cpp:84

Member Function Documentation

◆ getChild()

const sk_sp< RenderNode > & sksg::EffectNode::getChild ( ) const
inlineprotected

Definition at line 40 of file SkSGEffectNode.h.

40{ return fChild; }

◆ onNodeAt()

const RenderNode * sksg::EffectNode::onNodeAt ( const SkPoint p) const
overrideprotectedvirtual

Implements sksg::RenderNode.

Reimplemented in sksg::MaskEffect, sksg::OpacityEffect, sksg::ImageFilterEffect, and sksg::TransformEffect.

Definition at line 35 of file SkSGEffectNode.cpp.

35 {
36 return fChild->nodeAt(p);
37}

◆ onRender()

void sksg::EffectNode::onRender ( SkCanvas canvas,
const RenderContext ctx 
) const
overrideprotectedvirtual

◆ onRevalidate()

SkRect sksg::EffectNode::onRevalidate ( InvalidationController ic,
const SkMatrix ctm 
)
overrideprotectedvirtual

Implements sksg::Node.

Reimplemented in sksg::MaskEffect, sksg::OpacityEffect, sksg::ShaderEffect, sksg::ImageFilterEffect, and sksg::TransformEffect.

Definition at line 39 of file SkSGEffectNode.cpp.

39 {
40 SkASSERT(this->hasInval());
41
42 return fChild->revalidate(ic, ctm);
43}
#define SkASSERT(cond)
Definition SkAssert.h:116
bool hasInval() const
Definition SkSGNode.h:60

The documentation for this class was generated from the following files: