5#ifndef FLUTTER_FLOW_RASTER_CACHE_ITEM_H_
6#define FLUTTER_FLOW_RASTER_CACHE_ITEM_H_
14#include "flutter/display_list/dl_canvas.h"
15#include "flutter/flow/raster_cache_key.h"
23class LayerRasterCacheItem;
24class DisplayListRasterCacheItem;
36 unsigned child_entries = 0)
54 virtual std::optional<RasterCacheKeyID>
GetId()
const {
return key_id_; }
57 bool parent_cached =
false)
const = 0;
Developer-facing API for rendering anything within the engine.
virtual void PrerollFinalize(PrerollContext *context, const SkMatrix &matrix)=0
virtual ~RasterCacheItem()=default
bool need_caching() const
void set_matrix(const SkMatrix &matrix)
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
virtual void PrerollSetup(PrerollContext *context, const SkMatrix &matrix)=0
virtual bool Draw(const PaintContext &context, const DlPaint *paint) const =0
CacheState cache_state() const
virtual std::optional< RasterCacheKeyID > GetId() const
virtual bool TryToPrepareRasterCache(const PaintContext &context, bool parent_cached=false) const =0
unsigned useCenter Optional< SkMatrix > matrix
flutter::DisplayList DisplayList