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"
9#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews_Internal.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_;
31 void CancelFrame()
override;
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;
53 DlCanvas* CompositeEmbeddedView(int64_t view_id)
override;
56 void SubmitFlutterView(
57 int64_t flutter_view_id,
59 const std::shared_ptr<impeller::AiksContext>& aiks_context,
60 std::unique_ptr<SurfaceFrame>
frame)
override;
63 void EndFrame(
bool should_resubmit_frame,
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;
Developer-facing API for rendering anything within the engine.
IOSExternalViewEmbedder(const std::shared_ptr< FlutterPlatformViewsController > &platform_views_controller, std::shared_ptr< IOSContext > context)
virtual ~IOSExternalViewEmbedder() override
const EmbeddedViewParams * params