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(SkISize frame_size,
40 double device_pixel_ratio)
override;
43 void PrerollCompositeEmbeddedView(
45 std::unique_ptr<flutter::EmbeddedViewParams> params)
override;
48 PostPrerollResult PostPrerollAction(
49 const fml::RefPtr<fml::RasterThreadMerger>& raster_thread_merger)
53 DlCanvas* CompositeEmbeddedView(int64_t view_id)
override;
56 void SubmitFlutterView(
57 int64_t flutter_view_id,
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_