8#ifndef SkDrawable_DEFINED
9#define SkDrawable_DEFINED
93 return this->onSnapGpuDrawHandler(backendApi, matrix, clipBounds, bufferInfo);
108 uint32_t getGenerationID();
121 size_t approximateBytesUsed();
128 void notifyDrawingChanged();
142 kSkDrawable_Type, data, size, procs).release()));
152 virtual size_t onApproximateBytesUsed();
175 int32_t fGenerationID;
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Type::kYUV Type::kRGBA() int(0.7 *637)
virtual ~GpuDrawHandler()
virtual void draw(const GrBackendDrawableInfo &)
SkFlattenable::Type getFlattenableType() const override
const char * getTypeName() const override
virtual SkRect onGetBounds()=0
static SkFlattenable::Type GetFlattenableType()
static sk_sp< SkDrawable > Deserialize(const void *data, size_t size, const SkDeserialProcs *procs=nullptr)
virtual void onDraw(SkCanvas *)=0
virtual std::unique_ptr< GpuDrawHandler > onSnapGpuDrawHandler(GrBackendApi, const SkMatrix &, const SkIRect &, const SkImageInfo &)
virtual std::unique_ptr< GpuDrawHandler > onSnapGpuDrawHandler(GrBackendApi, const SkMatrix &)
Factory getFactory() const override
std::unique_ptr< GpuDrawHandler > snapGpuDrawHandler(GrBackendApi backendApi, const SkMatrix &matrix, const SkIRect &clipBounds, const SkImageInfo &bufferInfo)
static sk_sp< SkFlattenable > Deserialize(Type, const void *data, size_t length, const SkDeserialProcs *procs=nullptr)