Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
CompoundDrawable Class Reference
Inheritance diagram for CompoundDrawable:
SkDrawable SkFlattenable SkRefCnt SkRefCntBase

Public Member Functions

 CompoundDrawable (uint32_t a, uint32_t b, uint32_t c, uint32_t d, const SkPaint &paint)
 
 CompoundDrawable (IntDrawable *intDrawable, PaintDrawable *paintDrawable)
 
void flatten (SkWriteBuffer &buffer) const override
 
Factory getFactory () const override
 
IntDrawableintDrawable () const
 
PaintDrawablepaintDrawable () const
 
const char * getTypeName () const override
 
- Public Member Functions inherited from SkDrawable
void draw (SkCanvas *, const SkMatrix *=nullptr)
 
void draw (SkCanvas *, SkScalar x, SkScalar y)
 
std::unique_ptr< GpuDrawHandlersnapGpuDrawHandler (GrBackendApi backendApi, const SkMatrix &matrix, const SkIRect &clipBounds, const SkImageInfo &bufferInfo)
 
sk_sp< SkPicturemakePictureSnapshot ()
 
uint32_t getGenerationID ()
 
SkRect getBounds ()
 
size_t approximateBytesUsed ()
 
void notifyDrawingChanged ()
 
SkFlattenable::Type getFlattenableType () const override
 
Factory getFactory () const override
 
const char * getTypeName () const override
 
- Public Member Functions inherited from SkFlattenable
 SkFlattenable ()
 
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 SkDrawable
static SkFlattenable::Type GetFlattenableType ()
 
static sk_sp< SkDrawableDeserialize (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)
 

Protected Member Functions

SkRect onGetBounds () override
 
void onDraw (SkCanvas *) override
 
- Protected Member Functions inherited from SkDrawable
 SkDrawable ()
 
virtual size_t onApproximateBytesUsed ()
 
virtual std::unique_ptr< GpuDrawHandleronSnapGpuDrawHandler (GrBackendApi, const SkMatrix &, const SkIRect &, const SkImageInfo &)
 
virtual std::unique_ptr< GpuDrawHandleronSnapGpuDrawHandler (GrBackendApi, const SkMatrix &)
 
virtual sk_sp< SkPictureonMakePictureSnapshot ()
 

Additional Inherited Members

- 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 &)
 

Detailed Description

Definition at line 104 of file FlattenDrawableTest.cpp.

Constructor & Destructor Documentation

◆ CompoundDrawable() [1/2]

CompoundDrawable::CompoundDrawable ( uint32_t  a,
uint32_t  b,
uint32_t  c,
uint32_t  d,
const SkPaint paint 
)
inline

Definition at line 106 of file FlattenDrawableTest.cpp.

107 : fIntDrawable(new IntDrawable(a, b, c, d))
108 , fPaintDrawable(new PaintDrawable(paint))
109 {}
const Paint & paint
VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE auto & d
Definition main.cc:19
static bool b
struct MyStruct a[10]

◆ CompoundDrawable() [2/2]

CompoundDrawable::CompoundDrawable ( IntDrawable intDrawable,
PaintDrawable paintDrawable 
)
inline

Definition at line 111 of file FlattenDrawableTest.cpp.

112 : fIntDrawable(SkRef(intDrawable))
113 , fPaintDrawable(SkRef(paintDrawable))
114 {}
static T * SkRef(T *obj)
Definition SkRefCnt.h:132
PaintDrawable * paintDrawable() const
IntDrawable * intDrawable() const

Member Function Documentation

◆ CreateProc()

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

Definition at line 121 of file FlattenDrawableTest.cpp.

121 {
123 buffer.readFlattenable(SkFlattenable::kSkDrawable_Type));
125 SkASSERT(!strcmp("IntDrawable", intDrawable->getTypeName()));
126
128 buffer.readFlattenable(SkFlattenable::kSkDrawable_Type));
130 SkASSERT(!strcmp("PaintDrawable", paintDrawable->getTypeName()));
131
133 (PaintDrawable*) paintDrawable.get()));
134 }
#define SkASSERT(cond)
Definition SkAssert.h:116
const char * getTypeName() const override
const char * getTypeName() const override
static const uint8_t buffer[]

◆ flatten()

void CompoundDrawable::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 SkFlattenable.

Definition at line 116 of file FlattenDrawableTest.cpp.

116 {
117 buffer.writeFlattenable(fIntDrawable.get());
118 buffer.writeFlattenable(fPaintDrawable.get());
119 }
T * get() const
Definition SkRefCnt.h:303

◆ getFactory()

Factory CompoundDrawable::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 136 of file FlattenDrawableTest.cpp.

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

◆ getTypeName()

const char * CompoundDrawable::getTypeName ( ) const
inlineoverridevirtual

Returns the name of the object's class.

Implements SkFlattenable.

Definition at line 141 of file FlattenDrawableTest.cpp.

141{ return "CompoundDrawable"; }

◆ intDrawable()

IntDrawable * CompoundDrawable::intDrawable ( ) const
inline

Definition at line 138 of file FlattenDrawableTest.cpp.

138{ return fIntDrawable.get(); }

◆ onDraw()

void CompoundDrawable::onDraw ( SkCanvas )
inlineoverrideprotectedvirtual

Implements SkDrawable.

Definition at line 145 of file FlattenDrawableTest.cpp.

145{}

◆ onGetBounds()

SkRect CompoundDrawable::onGetBounds ( )
inlineoverrideprotectedvirtual

Implements SkDrawable.

Definition at line 144 of file FlattenDrawableTest.cpp.

144{ return SkRect::MakeEmpty(); }
static constexpr SkRect MakeEmpty()
Definition SkRect.h:595

◆ paintDrawable()

PaintDrawable * CompoundDrawable::paintDrawable ( ) const
inline

Definition at line 139 of file FlattenDrawableTest.cpp.

139{ return fPaintDrawable.get(); }

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