![]() |
Skia
2D Graphics Library
|
#include <SkFlattenable.h>
Classes | |
class | PrivateInitializer |
Public Types | |
enum | Type { kSkColorFilter_Type, kSkDrawable_Type, kSkDrawLooper_Type, kSkImageFilter_Type, kSkMaskFilter_Type, kSkPathEffect_Type, kSkPixelRef_Type, kSkUnused_Type4, kSkShaderBase_Type, kSkUnused_Type, kSkUnused_Type2, kSkUnused_Type3 } |
typedef sk_sp< SkFlattenable >(* | Factory) (SkReadBuffer &) |
Public Member Functions | |
SkFlattenable () | |
virtual Factory | getFactory () const =0 |
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(). More... | |
virtual const char * | getTypeName () const =0 |
Returns the name of the object's class. More... | |
virtual void | flatten (SkWriteBuffer &) const |
Override this if your subclass needs to record data that it will need to recreate itself from its CreateProc (returned by getFactory()). More... | |
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 |
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... | |
Static Public Member Functions | |
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) |
Friends | |
class | SkGraphics |
SkFlattenable is the base class for objects that need to be flattened into a data stream for either transport or as part of the key to the font cache.
typedef sk_sp<SkFlattenable>(* SkFlattenable::Factory) (SkReadBuffer &) |
enum SkFlattenable::Type |
|
inline |
|
static |
|
static |
|
inlinevirtual |
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 in SkPath2DPathEffect, SkLayerDrawLooper, SkLine2DPathEffect, SkPath1DPathEffect, SkDiscretePathEffect, Sk2DPathEffect, and SkCornerPathEffect.
|
pure virtual |
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().
Implemented in SkDrawable.
|
pure virtual |
Implemented in SkPathEffect, SkDrawable, SkDrawLooper, SkImageFilter, and SkMaskFilter.
|
pure virtual |
Returns the name of the object's class.
Implemented in SkDrawable.
|
static |
|
inlineinherited |
Increment the reference count.
Must be balanced by a call to unref().
|
static |
sk_sp<SkData> SkFlattenable::serialize | ( | const SkSerialProcs * | = nullptr | ) | const |
size_t SkFlattenable::serialize | ( | void * | memory, |
size_t | memory_size, | ||
const SkSerialProcs * | = nullptr |
||
) | const |
|
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.
|
friend |