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;
34 void BeginFrame(GrDirectContext* context,
35 const fml::RefPtr<fml::RasterThreadMerger>&
36 raster_thread_merger)
override;
39 void PrepareFlutterView(int64_t flutter_view_id,
41 double device_pixel_ratio)
override;
44 void PrerollCompositeEmbeddedView(
46 std::unique_ptr<flutter::EmbeddedViewParams> params)
override;
49 PostPrerollResult PostPrerollAction(
50 const fml::RefPtr<fml::RasterThreadMerger>& raster_thread_merger)
54 DlCanvas* CompositeEmbeddedView(int64_t view_id)
override;
57 void SubmitFlutterView(
58 GrDirectContext* context,
59 const std::shared_ptr<impeller::AiksContext>& aiks_context,
60 std::unique_ptr<SurfaceFrame> frame)
override;
63 void EndFrame(
bool should_resubmit_frame,
64 const fml::RefPtr<fml::RasterThreadMerger>&
65 raster_thread_merger)
override;
68 bool SupportsDynamicThreadMerging()
override;
71 void PushFilterToVisitedPlatformViews(
72 const std::shared_ptr<const DlImageFilter>& filter,
73 const SkRect& filter_rect)
override;
76 void PushVisitedPlatformView(int64_t view_id)
override;
83 #endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_EXTERNAL_VIEW_EMBEDDER_H_