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 const std::shared_ptr<PlatformViewsController>& platform_views_controller,
17 const std::shared_ptr<IOSContext>& context);
23 const std::shared_ptr<PlatformViewsController>& platform_views_controller_;
24 std::shared_ptr<IOSContext> ios_context_;
27 DlCanvas* GetRootCanvas()
override;
30 void CancelFrame()
override;
33 void BeginFrame(GrDirectContext* context,
34 const fml::RefPtr<fml::RasterThreadMerger>&
35 raster_thread_merger)
override;
38 void PrepareFlutterView(SkISize frame_size,
39 double device_pixel_ratio)
override;
42 void PrerollCompositeEmbeddedView(
44 std::unique_ptr<flutter::EmbeddedViewParams> params)
override;
47 PostPrerollResult PostPrerollAction(
48 const fml::RefPtr<fml::RasterThreadMerger>& raster_thread_merger)
52 DlCanvas* CompositeEmbeddedView(int64_t view_id)
override;
55 void SubmitFlutterView(
56 int64_t flutter_view_id,
57 GrDirectContext* context,
58 const std::shared_ptr<impeller::AiksContext>& aiks_context,
59 std::unique_ptr<SurfaceFrame> frame)
override;
62 void EndFrame(
bool should_resubmit_frame,
63 const fml::RefPtr<fml::RasterThreadMerger>&
64 raster_thread_merger)
override;
67 bool SupportsDynamicThreadMerging()
override;
70 void PushFilterToVisitedPlatformViews(
71 const std::shared_ptr<const DlImageFilter>& filter,
72 const SkRect& filter_rect)
override;
75 void PushVisitedPlatformView(int64_t view_id)
override;
82 #endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_EXTERNAL_VIEW_EMBEDDER_H_