5 #ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_EXTERNAL_VIEW_EMBEDDER_H_
6 #define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_EXTERNAL_VIEW_EMBEDDER_H_
8 #include "flutter/flow/embedded_views.h"
16 platform_views_controller,
17 std::shared_ptr<IOSContext> context);
23 const std::shared_ptr<FlutterPlatformViewsController>&
24 platform_views_controller_;
25 std::shared_ptr<IOSContext> ios_context_;
28 DlCanvas* GetRootCanvas()
override;
31 void CancelFrame()
override;
36 GrDirectContext* context,
37 double device_pixel_ratio,
38 fml::RefPtr<fml::RasterThreadMerger> raster_thread_merger)
override;
41 void PrerollCompositeEmbeddedView(
43 std::unique_ptr<flutter::EmbeddedViewParams> params)
override;
46 PostPrerollResult PostPrerollAction(
47 fml::RefPtr<fml::RasterThreadMerger> raster_thread_merger)
override;
50 DlCanvas* CompositeEmbeddedView(int64_t view_id)
override;
53 void SubmitFrame(GrDirectContext* context,
54 const std::shared_ptr<impeller::AiksContext>& aiks_context,
55 std::unique_ptr<SurfaceFrame> frame)
override;
59 bool should_resubmit_frame,
60 fml::RefPtr<fml::RasterThreadMerger> raster_thread_merger)
override;
63 bool SupportsDynamicThreadMerging()
override;
66 void PushFilterToVisitedPlatformViews(
67 std::shared_ptr<const DlImageFilter> filter,
68 const SkRect& filter_rect)
override;
71 void PushVisitedPlatformView(int64_t view_id)
override;
78 #endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_EXTERNAL_VIEW_EMBEDDER_H_