Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
ios_external_view_embedder.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_EXTERNAL_VIEW_EMBEDDER_H_
6#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_EXTERNAL_VIEW_EMBEDDER_H_
7
10
11namespace flutter {
12
14 public:
16 __weak FlutterPlatformViewsController* platform_views_controller,
17 const std::shared_ptr<IOSContext>& context);
18
19 // |ExternalViewEmbedder|
20 virtual ~IOSExternalViewEmbedder() override;
21
22 private:
23 __weak FlutterPlatformViewsController* platform_views_controller_;
24 std::shared_ptr<IOSContext> ios_context_;
25
26 // |ExternalViewEmbedder|
27 DlCanvas* GetRootCanvas() override;
28
29 // |ExternalViewEmbedder|
30 void CancelFrame() override;
31
32 // |ExternalViewEmbedder|
33 void BeginFrame(GrDirectContext* context,
35 raster_thread_merger) override;
36
37 // |ExternalViewEmbedder|
38 void PrepareFlutterView(DlISize frame_size,
39 double device_pixel_ratio) override;
40
41 // |ExternalViewEmbedder|
42 void PrerollCompositeEmbeddedView(
43 int64_t view_id,
44 std::unique_ptr<flutter::EmbeddedViewParams> params) override;
45
46 // |ExternalViewEmbedder|
47 DlCanvas* CompositeEmbeddedView(int64_t view_id) override;
48
49 // |ExternalViewEmbedder|
50 void SubmitFlutterView(
51 int64_t flutter_view_id,
52 GrDirectContext* context,
53 const std::shared_ptr<impeller::AiksContext>& aiks_context,
54 std::unique_ptr<SurfaceFrame> frame) override;
55
56 // |ExternalViewEmbedder|
57 bool SupportsDynamicThreadMerging() override;
58
59 // |ExternalViewEmbedder|
60 void PushFilterToVisitedPlatformViews(
61 const std::shared_ptr<DlImageFilter>& filter,
62 const DlRect& filter_rect) override;
63
64 // |ExternalViewEmbedder|
65 void PushClipRectToVisitedPlatformViews(const DlRect& clip_rect) override;
66
67 // |ExternalViewEmbedder|
68 void PushClipRRectToVisitedPlatformViews(
69 const DlRoundRect& clip_rrect) override;
70
71 // |ExternalViewEmbedder|
72 void PushClipRSuperellipseToVisitedPlatformViews(
73 const DlRoundSuperellipse& clip_rse) override;
74
75 // |ExternalViewEmbedder|
76 void PushClipPathToVisitedPlatformViews(const DlPath& clip_path) override;
77
78 // |ExternalViewEmbedder|
79 void PushVisitedPlatformView(int64_t view_id) override;
80
82};
83
84} // namespace flutter
85
86#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_EXTERNAL_VIEW_EMBEDDER_H_
Developer-facing API for rendering anything within the engine.
Definition dl_canvas.h:32
virtual ~IOSExternalViewEmbedder() override
const EmbeddedViewParams * params
G_BEGIN_DECLS FlutterViewId view_id
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition macros.h:27
std::shared_ptr< ContextGLES > context