33 std::function<std::unique_ptr<EmbedderRenderTarget>(
34 GrDirectContext* context,
35 const std::shared_ptr<impeller::AiksContext>& aiks_context,
39 const std::vector<const FlutterLayer*>&
layers)>;
60 bool avoid_backing_store_cache,
85 void CancelFrame()
override;
88 void BeginFrame(GrDirectContext* context,
90 raster_thread_merger)
override;
93 void PrepareFlutterView(
DlISize frame_size,
94 double device_pixel_ratio)
override;
97 void PrerollCompositeEmbeddedView(
99 std::unique_ptr<EmbeddedViewParams>
params)
override;
105 void SubmitFlutterView(
106 int64_t flutter_view_id,
107 GrDirectContext* context,
108 const std::shared_ptr<impeller::AiksContext>& aiks_context,
109 std::unique_ptr<SurfaceFrame> frame)
override;
115 const bool avoid_backing_store_cache_;
120 double pending_device_pixel_ratio_ = 1.0;
121 DlMatrix pending_surface_transformation_;
123 std::vector<EmbedderExternalView::ViewIdentifier> composition_order_;
125 std::unordered_map<int64_t, EmbedderRenderTargetCache> render_target_caches_;
129 DlMatrix GetSurfaceTransformation()
const;