Flutter Engine
The Flutter Engine
Public Member Functions | Static Public Member Functions | List of all members
SkPath2DPathEffectImpl Class Reference
Inheritance diagram for SkPath2DPathEffectImpl:
Sk2DPathEffect SkPathEffectBase SkPathEffect SkFlattenable SkRefCnt SkRefCntBase

Public Member Functions

 SkPath2DPathEffectImpl (const SkMatrix &m, const SkPath &p)
 
void next (const SkPoint &loc, int u, int v, SkPath *dst) const override
 
void flatten (SkWriteBuffer &buffer) const override
 
Factory getFactory () const override
 
const char * getTypeName () const override
 
- Public Member Functions inherited from Sk2DPathEffect
 Sk2DPathEffect (const SkMatrix &mat)
 
- Public Member Functions inherited from SkPathEffectBase
 SkPathEffectBase ()
 
bool asPoints (PointData *results, const SkPath &src, const SkStrokeRec &, const SkMatrix &, const SkRect *cullR) const
 
SkFlattenable::Type getFlattenableType () const override
 
virtual bool onFilterPath (SkPath *, const SkPath &, SkStrokeRec *, const SkRect *, const SkMatrix &) const =0
 
virtual bool onNeedsCTM () const
 
virtual bool onAsPoints (PointData *, const SkPath &, const SkStrokeRec &, const SkMatrix &, const SkRect *) const
 
virtual DashType onAsADash (DashInfo *) const
 
virtual bool computeFastBounds (SkRect *bounds) const =0
 
- Public Member Functions inherited from SkPathEffect
DashType asADash (DashInfo *info) const
 
bool filterPath (SkPath *dst, const SkPath &src, SkStrokeRec *, const SkRect *cullR) const
 
bool filterPath (SkPath *dst, const SkPath &src, SkStrokeRec *, const SkRect *cullR, const SkMatrix &ctm) const
 
bool needsCTM () const
 
- Public Member Functions inherited from SkFlattenable
 SkFlattenable ()
 
virtual Factory getFactory () const =0
 
virtual const char * getTypeName () const =0
 
virtual void flatten (SkWriteBuffer &) const
 
virtual Type getFlattenableType () const =0
 
sk_sp< SkDataserialize (const SkSerialProcs *=nullptr) const
 
size_t serialize (void *memory, size_t memory_size, const SkSerialProcs *=nullptr) const
 
- Public Member Functions inherited from SkRefCntBase
 SkRefCntBase ()
 
virtual ~SkRefCntBase ()
 
bool unique () const
 
void ref () const
 
void unref () const
 

Static Public Member Functions

static sk_sp< SkFlattenableCreateProc (SkReadBuffer &buffer)
 
- Static Public Member Functions inherited from SkPathEffectBase
static sk_sp< SkPathEffectDeserialize (const void *data, size_t size, const SkDeserialProcs *procs=nullptr)
 
static void RegisterFlattenables ()
 
- Static Public Member Functions inherited from SkPathEffect
static sk_sp< SkPathEffectMakeSum (sk_sp< SkPathEffect > first, sk_sp< SkPathEffect > second)
 
static sk_sp< SkPathEffectMakeCompose (sk_sp< SkPathEffect > outer, sk_sp< SkPathEffect > inner)
 
static SkFlattenable::Type GetFlattenableType ()
 
static sk_sp< SkPathEffectDeserialize (const void *data, size_t size, const SkDeserialProcs *procs=nullptr)
 
- Static Public Member Functions inherited from SkFlattenable
static Factory NameToFactory (const char name[])
 
static const char * FactoryToName (Factory)
 
static void Register (const char name[], Factory)
 
static sk_sp< SkFlattenableDeserialize (Type, const void *data, size_t length, const SkDeserialProcs *procs=nullptr)
 

Additional Inherited Members

- Public Types inherited from SkPathEffect
enum  DashType { kNone_DashType , kDash_DashType }
 
- Public Types inherited from SkFlattenable
enum  Type {
  kSkColorFilter_Type , kSkBlender_Type , kSkDrawable_Type , kSkDrawLooper_Type ,
  kSkImageFilter_Type , kSkMaskFilter_Type , kSkPathEffect_Type , kSkShader_Type
}
 
typedef sk_sp< SkFlattenable >(* Factory) (SkReadBuffer &)
 
- Protected Member Functions inherited from Sk2DPathEffect
virtual void begin (const SkIRect &uvBounds, SkPath *dst) const
 
virtual void next (const SkPoint &loc, int u, int v, SkPath *dst) const
 
virtual void end (SkPath *dst) const
 
virtual void nextSpan (int x, int y, int ucount, SkPath *path) const
 
const SkMatrixgetMatrix () const
 
void flatten (SkWriteBuffer &buffer) const override
 
bool onFilterPath (SkPath *dst, const SkPath &src, SkStrokeRec *rec, const SkRect *cullRect, const SkMatrix &) const override
 

Detailed Description

Definition at line 174 of file Sk2DPathEffect.cpp.

Constructor & Destructor Documentation

◆ SkPath2DPathEffectImpl()

SkPath2DPathEffectImpl::SkPath2DPathEffectImpl ( const SkMatrix m,
const SkPath p 
)
inline

Definition at line 176 of file Sk2DPathEffect.cpp.

Member Function Documentation

◆ CreateProc()

static sk_sp< SkFlattenable > SkPath2DPathEffectImpl::CreateProc ( SkReadBuffer buffer)
inlinestatic

Definition at line 182 of file Sk2DPathEffect.cpp.

182 {
184 buffer.readMatrix(&matrix);
185 SkPath path;
186 buffer.readPath(&path);
188 }
static sk_sp< SkPathEffect > Make(const SkMatrix &matrix, const SkPath &path)
Definition: SkPath.h:59
unsigned useCenter Optional< SkMatrix > matrix
Definition: SkRecords.h:258
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
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 to the cache directory This is different from the persistent_cache_path in embedder which is used for Skia shader cache icu native lib Path to the library file that exports the ICU data vm service The hostname IP address on which the Dart VM Service should be served If not defaults to or::depending on whether ipv6 is specified vm service A custom Dart VM Service port The default is to pick a randomly available open port disable vm Disable the Dart VM Service The Dart VM Service is never available in release mode disable vm service Disable mDNS Dart VM Service publication Bind to the IPv6 localhost address for the Dart VM Service Ignored if vm service host is set endless trace buffer
Definition: switches.h:126

◆ flatten()

void SkPath2DPathEffectImpl::flatten ( SkWriteBuffer ) const
inlineoverridevirtual

Override this if your subclass needs to record data that it will need to recreate itself from its CreateProc (returned by getFactory()).

DEPRECATED public : will move to protected ... use serialize() instead

Reimplemented from Sk2DPathEffect.

Definition at line 190 of file Sk2DPathEffect.cpp.

190 {
191 buffer.writeMatrix(this->getMatrix());
192 buffer.writePath(fPath);
193 }
const SkMatrix & getMatrix() const

◆ getFactory()

Factory SkPath2DPathEffectImpl::getFactory ( ) const
inlineoverridevirtual

Implement this to return a factory function pointer that can be called to recreate your class given a buffer (previously written to by your override of flatten().

Implements SkFlattenable.

Definition at line 195 of file Sk2DPathEffect.cpp.

195{ return CreateProc; }
static sk_sp< SkFlattenable > CreateProc(SkReadBuffer &buffer)

◆ getTypeName()

const char * SkPath2DPathEffectImpl::getTypeName ( ) const
inlineoverridevirtual

Returns the name of the object's class.

Implements SkFlattenable.

Definition at line 196 of file Sk2DPathEffect.cpp.

196{ return "SkPath2DPathEffect"; }

◆ next()

void SkPath2DPathEffectImpl::next ( const SkPoint loc,
int  u,
int  v,
SkPath dst 
) const
inlineoverridevirtual

Reimplemented from Sk2DPathEffect.

Definition at line 178 of file Sk2DPathEffect.cpp.

178 {
179 dst->addPath(fPath, loc.fX, loc.fY);
180 }
dst
Definition: cp.py:12
float fX
x-axis value
Definition: SkPoint_impl.h:164
float fY
y-axis value
Definition: SkPoint_impl.h:165

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