Flutter Engine
The Flutter Engine
|
#include <SkPathEffectBase.h>
Classes | |
class | PointData |
Public Member Functions | |
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< SkData > | serialize (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< SkPathEffect > | Deserialize (const void *data, size_t size, const SkDeserialProcs *procs=nullptr) |
static void | RegisterFlattenables () |
Static Public Member Functions inherited from SkPathEffect | |
static sk_sp< SkPathEffect > | MakeSum (sk_sp< SkPathEffect > first, sk_sp< SkPathEffect > second) |
static sk_sp< SkPathEffect > | MakeCompose (sk_sp< SkPathEffect > outer, sk_sp< SkPathEffect > inner) |
static SkFlattenable::Type | GetFlattenableType () |
static sk_sp< SkPathEffect > | Deserialize (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< SkFlattenable > | Deserialize (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 &) |
Definition at line 19 of file SkPathEffectBase.h.
|
inline |
Definition at line 21 of file SkPathEffectBase.h.
bool SkPathEffectBase::asPoints | ( | PointData * | results, |
const SkPath & | src, | ||
const SkStrokeRec & | rec, | ||
const SkMatrix & | mx, | ||
const SkRect * | cullR | ||
) | const |
Does applying this path effect to 'src' yield a set of points? If so, optionally return the points in 'results'.
Definition at line 47 of file SkPathEffect.cpp.
|
pure virtual |
Implemented in SkCornerPathEffectImpl, SkComposePathEffect, SkSumPathEffect, and SkDiscretePathEffectImpl.
|
inlinestatic |
Definition at line 86 of file SkPathEffectBase.h.
|
inlineoverridevirtual |
If the PathEffect can be represented as a dash pattern, asADash will return kDash_DashType and None otherwise. If a non NULL info is passed in, the various DashInfo will be filled in if the PathEffect can be a dash pattern. If passed in info has an fCount equal or greater to that of the effect, it will memcpy the values of the dash intervals into the info. Thus the general approach will be call asADash once with default info to get DashType and fCount. If effect can be represented as a dash pattern, allocate space for the intervals in info, then call asADash again with the same info and the intervals will get copied in.
Implements SkFlattenable.
Definition at line 82 of file SkPathEffectBase.h.
|
inlinevirtual |
Reimplemented in SkDashImpl.
Definition at line 106 of file SkPathEffectBase.h.
|
pure virtual |
Filter the input path.
The CTM parameter is provided for path effects that can use the information. The output of path effects must always be in the original (input) coordinate system, regardless of whether the path effect uses the CTM or not.
Implemented in Sk1DPathEffect, SkCornerPathEffectImpl, SkDashImpl, SkTrimPE, SkDiscretePathEffectImpl, Sk2DPathEffect, SkComposePathEffect, SkSumPathEffect, SkPath1DPathEffectImpl, and SkLine2DPathEffectImpl.
|
inlinevirtual |
Path effects requiring a valid CTM should override to return true.
Definition at line 104 of file SkPathEffectBase.h.
|
static |
Definition at line 215 of file SkPathEffect.cpp.