5 #ifndef FLUTTER_IMPELLER_AIKS_EXPERIMENTAL_CANVAS_H_
6 #define FLUTTER_IMPELLER_AIKS_EXPERIMENTAL_CANVAS_H_
26 std::unique_ptr<EntityPassTarget> p_entity_pass_target)
44 bool requires_readback);
48 bool requires_readback,
53 bool requires_readback,
58 void Save(uint32_t total_content_depth)
override;
61 std::optional<Rect> bounds,
62 const std::shared_ptr<ImageFilter>& backdrop_filter,
64 uint32_t total_content_depth,
65 bool can_distribute_opacity)
override;
71 void DrawTextFrame(
const std::shared_ptr<TextFrame>& text_frame,
82 size_t GetClipHeightFloor()
const {
89 ContentContext& renderer_;
90 RenderTarget& render_target_;
91 const bool requires_readback_;
92 EntityPassClipStack clip_coverage_stack_;
93 std::vector<LazyRenderingConfig> render_passes_;
94 std::vector<SaveLayerState> save_layer_state_;
96 void SetupRenderPass();
98 void AddRenderEntityToCurrentPass(Entity entity,
bool reuse_depth)
override;
99 void AddClipEntityToCurrentPass(Entity entity)
override;
100 bool BlitToOnscreen();
102 Point GetGlobalPassPosition() {
103 if (save_layer_state_.empty()) {
106 return save_layer_state_.back().coverage.GetOrigin();
116 #endif // FLUTTER_IMPELLER_AIKS_EXPERIMENTAL_CANVAS_H_