Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Static Public Member Functions | Private Member Functions | List of all members
sksg::TrimEffect Class Referencefinal

#include <SkSGGeometryEffect.h>

Inheritance diagram for sksg::TrimEffect:
sksg::GeometryEffect sksg::GeometryNode sksg::Node SkRefCnt SkRefCntBase

Static Public Member Functions

static sk_sp< TrimEffectMake (sk_sp< GeometryNode > child)
 

Private Member Functions

SkPath onRevalidateEffect (const sk_sp< GeometryNode > &) override
 

Additional Inherited Members

- Public Member Functions inherited from sksg::GeometryNode
void clip (SkCanvas *, bool antiAlias) const
 
void draw (SkCanvas *, const SkPaint &) const
 
bool contains (const SkPoint &) const
 
SkPath asPath () const
 
- 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 }
 
- Protected Member Functions inherited from sksg::GeometryEffect
 GeometryEffect (sk_sp< GeometryNode >)
 
 ~GeometryEffect () override
 
void onClip (SkCanvas *, bool antiAlias) const final
 
void onDraw (SkCanvas *, const SkPaint &) const final
 
bool onContains (const SkPoint &) const final
 
SkRect onRevalidate (InvalidationController *, const SkMatrix &) final
 
SkPath onAsPath () const final
 
- Protected Member Functions inherited from sksg::GeometryNode
 GeometryNode ()
 
- 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 > &)
 

Detailed Description

Apply a trim effect to the child geometry.

Definition at line 58 of file SkSGGeometryEffect.h.

Member Function Documentation

◆ Make()

static sk_sp< TrimEffect > sksg::TrimEffect::Make ( sk_sp< GeometryNode child)
inlinestatic

Definition at line 60 of file SkSGGeometryEffect.h.

60 {
61 return child ? sk_sp<TrimEffect>(new TrimEffect(std::move(child))) : nullptr;
62 }

◆ onRevalidateEffect()

SkPath sksg::TrimEffect::onRevalidateEffect ( const sk_sp< GeometryNode > &  child)
overrideprivatevirtual

Implements sksg::GeometryEffect.

Definition at line 73 of file SkSGGeometryEffect.cpp.

73 {
74 SkPath path = child->asPath();
75
76 if (const auto trim = SkTrimPathEffect::Make(fStart, fStop, fMode)) {
78 SkASSERT(!trim->needsCTM());
79 SkAssertResult(trim->filterPath(&path, path, &rec, nullptr));
80 }
81
82 return path;
83}
#define SkAssertResult(cond)
Definition SkAssert.h:123
#define SkASSERT(cond)
Definition SkAssert.h:116
static SkCanvas * trim(SkCanvas *canvas, SkScalar width, SkScalar height, const SkRect *content)
@ kHairline_InitStyle
Definition SkStrokeRec.h:25
static sk_sp< SkPathEffect > Make(SkScalar startT, SkScalar stopT, Mode=Mode::kNormal)
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
Definition switches.h:57

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