76 fuchsia::ui::views::ViewRef view_ref,
77 std::shared_ptr<flutter::ExternalViewEmbedder> external_view_embedder,
78 fuchsia::ui::input::ImeServiceHandle ime_service,
79 fuchsia::ui::input3::KeyboardHandle keyboard,
80 fuchsia::ui::pointer::TouchSourceHandle touch_source,
81 fuchsia::ui::pointer::MouseSourceHandle mouse_source,
82 fuchsia::ui::views::FocuserHandle focuser,
83 fuchsia::ui::views::ViewRefFocusedHandle view_ref_focused,
84 fuchsia::ui::composition::ParentViewportWatcherHandle
85 parent_viewport_watcher,
86 fuchsia::ui::pointerinjector::RegistryHandle pointerinjector_registry,
97 await_vsync_for_secondary_callback_callback,
98 std::shared_ptr<sys::ServiceDirectory> dart_application_svc);
102 void OnGetLayout(fuchsia::ui::composition::LayoutInfo info);
104 fuchsia::ui::composition::ParentViewportStatus status);
106 fuchsia::ui::composition::ChildViewStatus status);
109 fuchsia::ui::views::ViewRef view_ref);
119 void RegisterPlatformMessageHandlers();
121 bool OnHandlePointerEvent(
const fuchsia::ui::input::PointerEvent& pointer);
123 bool OnHandleFocusEvent(
const fuchsia::ui::input::FocusEvent& focus);
126 std::unique_ptr<flutter::VsyncWaiter> CreateVSyncWaiter()
override;
129 std::unique_ptr<flutter::Surface> CreateRenderingSurface()
override;
132 void HandlePlatformMessage(
133 std::unique_ptr<flutter::PlatformMessage>
message)
override;
136 void UpdateSemantics(
144 bool HandleAccessibilityChannelPlatformMessage(
145 std::unique_ptr<flutter::PlatformMessage>
message);
148 bool HandleFlutterPlatformChannelPlatformMessage(
149 std::unique_ptr<flutter::PlatformMessage>
message);
152 bool HandleFlutterPlatformViewsChannelPlatformMessage(
153 std::unique_ptr<flutter::PlatformMessage>
message);
156 static bool HandleFuchsiaShaderWarmupChannelPlatformMessage(
158 std::unique_ptr<flutter::PlatformMessage>
message);
161 bool HandleFuchsiaInputTestChannelPlatformMessage(
162 std::unique_ptr<flutter::PlatformMessage>
message);
165 bool HandleFuchsiaChildViewChannelPlatformMessage(
166 std::unique_ptr<flutter::PlatformMessage>
message);
172 void OnDisposeView(int64_t view_id_raw);
176 void OnChildViewConnected(uint64_t content_id);
181 void OnChildViewDisconnected(uint64_t content_id);
184 std::array<float, 2> ClampToViewSpace(
const float x,
const float y)
const;
193 std::optional<std::array<float, 2>> view_logical_size_;
194 std::optional<std::array<float, 2>> view_logical_origin_;
195 std::optional<float> view_pixel_ratio_;
197 std::shared_ptr<flutter::ExternalViewEmbedder> external_view_embedder_;
199 std::shared_ptr<FocusDelegate> focus_delegate_;
200 std::shared_ptr<PointerDelegate> pointer_delegate_;
201 std::unique_ptr<PointerInjectorDelegate> pointer_injector_delegate_;
204 std::unique_ptr<TextDelegate> text_delegate_;
206 std::set<int> down_pointers_;
207 std::map<std::string ,
211 platform_message_handlers_;
215 std::set<std::string > unregistered_channels_;
227 await_vsync_for_secondary_callback_callback_;
230 fuchsia::ui::test::input::TouchInputListenerPtr touch_input_listener_;
231 fuchsia::ui::test::input::KeyboardInputListenerPtr keyboard_input_listener_;
232 fuchsia::ui::test::input::MouseInputListenerPtr mouse_input_listener_;
235 std::shared_ptr<sys::ServiceDirectory> dart_application_svc_;
239 struct ChildViewInfo {
240 ChildViewInfo(zx_handle_t token,
241 fuchsia::ui::composition::ChildViewWatcherPtr watcher)
242 :
view_id(token), child_view_watcher(
std::move(watcher)) {}
244 fuchsia::ui::composition::ChildViewWatcherPtr child_view_watcher;
246 std::unordered_map<uint64_t ,
250 fuchsia::ui::composition::ParentViewportWatcherPtr parent_viewport_watcher_;
251 fuchsia::ui::composition::ParentViewportStatus parent_viewport_status_;