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);
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);
133 std::unique_ptr<flutter::PlatformMessage>
message)
override;
143 bool HandleAccessibilityChannelPlatformMessage(
144 std::unique_ptr<flutter::PlatformMessage>
message);
147 bool HandleFlutterPlatformChannelPlatformMessage(
148 std::unique_ptr<flutter::PlatformMessage>
message);
151 bool HandleFlutterPlatformViewsChannelPlatformMessage(
152 std::unique_ptr<flutter::PlatformMessage>
message);
155 static bool HandleFuchsiaShaderWarmupChannelPlatformMessage(
157 std::unique_ptr<flutter::PlatformMessage>
message);
160 bool HandleFuchsiaInputTestChannelPlatformMessage(
161 std::unique_ptr<flutter::PlatformMessage>
message);
164 bool HandleFuchsiaChildViewChannelPlatformMessage(
165 std::unique_ptr<flutter::PlatformMessage>
message);
171 void OnDisposeView(int64_t view_id_raw);
175 void OnChildViewConnected(uint64_t content_id);
180 void OnChildViewDisconnected(uint64_t content_id);
183 std::array<float, 2> ClampToViewSpace(
const float x,
const float y)
const;
192 std::optional<std::array<float, 2>> view_logical_size_;
193 std::optional<std::array<float, 2>> view_logical_origin_;
194 std::optional<float> view_pixel_ratio_;
196 std::shared_ptr<flutter::ExternalViewEmbedder> external_view_embedder_;
198 std::shared_ptr<FocusDelegate> focus_delegate_;
199 std::shared_ptr<PointerDelegate> pointer_delegate_;
200 std::unique_ptr<PointerInjectorDelegate> pointer_injector_delegate_;
203 std::unique_ptr<TextDelegate> text_delegate_;
205 std::set<int> down_pointers_;
206 std::map<std::string ,
210 platform_message_handlers_;
214 std::set<std::string > unregistered_channels_;
226 await_vsync_for_secondary_callback_callback_;
229 fuchsia::ui::test::input::TouchInputListenerPtr touch_input_listener_;
230 fuchsia::ui::test::input::KeyboardInputListenerPtr keyboard_input_listener_;
231 fuchsia::ui::test::input::MouseInputListenerPtr mouse_input_listener_;
234 std::shared_ptr<sys::ServiceDirectory> dart_application_svc_;
238 struct ChildViewInfo {
239 ChildViewInfo(zx_handle_t token,
240 fuchsia::ui::composition::ChildViewWatcherPtr watcher)
241 : view_id(token), child_view_watcher(
std::move(watcher)) {}
243 fuchsia::ui::composition::ChildViewWatcherPtr child_view_watcher;
245 std::unordered_map<uint64_t ,
249 fuchsia::ui::composition::ParentViewportWatcherPtr parent_viewport_watcher_;
250 fuchsia::ui::composition::ParentViewportStatus parent_viewport_status_;