34 void Save(uint32_t total_content_depth)
override;
37 std::optional<Rect> bounds,
38 const std::shared_ptr<ImageFilter>& backdrop_filter,
40 uint32_t total_content_depth)
override;
45 FML_DCHECK(inline_pass_contexts_.size() == 1u);
46 inline_pass_contexts_.back()->EndPass();
47 render_passes_.clear();
48 inline_pass_contexts_.clear();
55 void DrawTextFrame(
const std::shared_ptr<TextFrame>& text_frame,
67 std::vector<std::unique_ptr<InlinePassContext>> inline_pass_contexts_;
68 std::vector<std::unique_ptr<EntityPassTarget>> entity_pass_targets_;
69 std::vector<SaveLayerState> save_layer_state_;
70 std::vector<std::shared_ptr<RenderPass>> render_passes_;
72 void SetupRenderPass();
77 Point GetGlobalPassPosition() {
78 if (save_layer_state_.empty()) {
81 return save_layer_state_.back().coverage.GetOrigin();
84 ExperimentalCanvas(
const ExperimentalCanvas&) =
delete;
86 ExperimentalCanvas& operator=(
const ExperimentalCanvas&) =
delete;
const std::shared_ptr< RenderTargetAllocator > & GetRenderTargetCache() const