5#ifndef FLUTTER_FLOW_RASTER_CACHE_ITEM_H_
6#define FLUTTER_FLOW_RASTER_CACHE_ITEM_H_
12#include "flutter/display_list/dl_canvas.h"
13#include "flutter/flow/raster_cache_key.h"
21class LayerRasterCacheItem;
22class DisplayListRasterCacheItem;
34 unsigned child_entries = 0)
52 virtual std::optional<RasterCacheKeyID>
GetId()
const {
return key_id_; }
55 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