16 const std::shared_ptr<IOSContext>&
context)
17 : platform_views_controller_(platform_views_controller), ios_context_(
context) {
24DlCanvas* IOSExternalViewEmbedder::GetRootCanvas() {
31void IOSExternalViewEmbedder::CancelFrame() {
32 TRACE_EVENT0(
"flutter",
"IOSExternalViewEmbedder::CancelFrame");
34 [platform_views_controller_ cancelFrame];
38void IOSExternalViewEmbedder::BeginFrame(
43void IOSExternalViewEmbedder::PrepareFlutterView(
DlISize frame_size,
double device_pixel_ratio) {
45 [platform_views_controller_ beginFrameWithSize:frame_size];
49void IOSExternalViewEmbedder::PrerollCompositeEmbeddedView(
51 std::unique_ptr<EmbeddedViewParams>
params) {
52 TRACE_EVENT0(
"flutter",
"IOSExternalViewEmbedder::PrerollCompositeEmbeddedView");
54 [platform_views_controller_ prerollCompositeEmbeddedView:
view_id withParams:std::move(
params)];
58DlCanvas* IOSExternalViewEmbedder::CompositeEmbeddedView(int64_t
view_id) {
59 TRACE_EVENT0(
"flutter",
"IOSExternalViewEmbedder::CompositeEmbeddedView");
61 return [platform_views_controller_ compositeEmbeddedViewWithId:
view_id];
65void IOSExternalViewEmbedder::SubmitFlutterView(
66 int64_t flutter_view_id,
68 const std::shared_ptr<impeller::AiksContext>& aiks_context,
69 std::unique_ptr<SurfaceFrame> frame) {
70 TRACE_EVENT0(
"flutter",
"IOSExternalViewEmbedder::SubmitFlutterView");
76 [platform_views_controller_ submitFrame:std::move(frame) withIosContext:ios_context_];
77 TRACE_EVENT0(
"flutter",
"IOSExternalViewEmbedder::DidSubmitFrame");
81bool IOSExternalViewEmbedder::SupportsDynamicThreadMerging() {
86void IOSExternalViewEmbedder::PushFilterToVisitedPlatformViews(
87 const std::shared_ptr<DlImageFilter>& filter,
88 const DlRect& filter_rect) {
89 [platform_views_controller_ pushFilterToVisitedPlatformViews:filter withRect:filter_rect];
93void IOSExternalViewEmbedder::PushVisitedPlatformView(int64_t
view_id) {
94 [platform_views_controller_ pushVisitedPlatformViewId:
view_id];
98void IOSExternalViewEmbedder::PushClipRectToVisitedPlatformViews(
const DlRect& clip_rect) {
99 [platform_views_controller_ pushClipRectToVisitedPlatformViews:clip_rect];
103void IOSExternalViewEmbedder::PushClipRRectToVisitedPlatformViews(
const DlRoundRect& clip_rrect) {
104 [platform_views_controller_ pushClipRRectToVisitedPlatformViews:clip_rrect];
108void IOSExternalViewEmbedder::PushClipRSuperellipseToVisitedPlatformViews(
110 [platform_views_controller_ pushClipRSuperellipseToVisitedPlatformViews:clip_rse];
114void IOSExternalViewEmbedder::PushClipPathToVisitedPlatformViews(
const DlPath& clip_path) {
115 [platform_views_controller_ pushClipPathToVisitedPlatformViews:clip_path];
Developer-facing API for rendering anything within the engine.
IOSExternalViewEmbedder(__weak FlutterPlatformViewsController *platform_views_controller, const std::shared_ptr< IOSContext > &context)
virtual ~IOSExternalViewEmbedder() override
const EmbeddedViewParams * params
G_BEGIN_DECLS FlutterViewId view_id
#define FML_CHECK(condition)
#define FML_DCHECK(condition)
constexpr int64_t kFlutterImplicitViewId
impeller::RoundRect DlRoundRect
impeller::ISize32 DlISize
impeller::RoundSuperellipse DlRoundSuperellipse
flutter::DlCanvas DlCanvas
std::shared_ptr< ContextGLES > context
#define TRACE_EVENT0(category_group, name)