5#ifndef FLUTTER_FLOW_RASTER_CACHE_ITEM_H_
6#define FLUTTER_FLOW_RASTER_CACHE_ITEM_H_
24class LayerRasterCacheItem;
25class DisplayListRasterCacheItem;
37 unsigned child_entries = 0)
49 const DlPaint* paint)
const = 0;
53 const DlPaint* paint)
const = 0;
55 virtual std::optional<RasterCacheKeyID>
GetId()
const {
return key_id_; }
58 bool parent_cached =
false)
const = 0;
Developer-facing API for rendering anything within the engine.
virtual ~RasterCacheItem()=default
bool need_caching() const
void set_matrix(const SkMatrix &matrix)
virtual void PrerollFinalize(PrerollContext *context, const DlMatrix &matrix)=0
virtual bool Draw(const PaintContext &context, DlCanvas *canvas, const DlPaint *paint) const =0
RasterCacheItem(RasterCacheKeyID key_id, CacheState cache_state=CacheState::kNone, unsigned child_entries=0)
unsigned child_items() const
void set_matrix(const DlMatrix &matrix)
virtual bool Draw(const PaintContext &context, const DlPaint *paint) const =0
virtual void PrerollSetup(PrerollContext *context, const DlMatrix &matrix)=0
CacheState cache_state() const
virtual std::optional< RasterCacheKeyID > GetId() const
virtual bool TryToPrepareRasterCache(const PaintContext &context, bool parent_cached=false) const =0
SkMatrix ToSkMatrix(const DlMatrix &matrix)
flutter::DisplayList DisplayList
A 4x4 matrix using column-major storage.