Flutter Engine
The Flutter Engine
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 ()
 
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 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 SkRect onGetBounds ()=0
 
virtual size_t onApproximateBytesUsed ()
 
virtual void onDraw (SkCanvas *)=0
 
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
Definition: color_source.cc:38
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
CompoundDrawable(uint32_t a, uint32_t b, uint32_t c, uint32_t d, const SkPaint &paint)
const char * getTypeName() const override
const char * getTypeName() const override
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 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().

Reimplemented from SkDrawable.

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.

Reimplemented from SkDrawable.

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: