5#ifndef FLUTTER_SHELL_PLATFORM_FUCHSIA_FLUTTER_POINTER_DELEGATE_H_
6#define FLUTTER_SHELL_PLATFORM_FUCHSIA_FLUTTER_POINTER_DELEGATE_H_
8#include <fuchsia/ui/pointer/cpp/fidl.h>
13#include <unordered_map>
14#include <unordered_set>
17#include "flutter/lib/ui/window/pointer_data.h"
24 const fuchsia::ui::pointer::TouchInteractionId& ixn)
const {
25 return std::hash<uint32_t>()(ixn.device_id) ^
26 std::hash<uint32_t>()(ixn.pointer_id) ^
27 std::hash<uint32_t>()(ixn.interaction_id);
38 fuchsia::ui::pointer::MouseSourceHandle mouse_source);
52 fuchsia::ui::pointer::TouchSourcePtr touch_source_;
55 std::function<void(std::vector<fuchsia::ui::pointer::TouchEvent>)>
91 std::unordered_map<fuchsia::ui::pointer::TouchInteractionId,
92 std::vector<flutter::PointerData>,
100 std::vector<fuchsia::ui::pointer::TouchResponse> touch_responses_;
107 std::optional<fuchsia::ui::pointer::ViewParameters> touch_view_parameters_;
112 fuchsia::ui::pointer::MouseSourcePtr mouse_source_;
115 std::function<void(std::vector<fuchsia::ui::pointer::MouseEvent>)>
126 std::unordered_set< uint32_t> mouse_down_;
130 std::unordered_map< uint32_t,
131 fuchsia::ui::pointer::MouseDeviceInfo>
139 std::optional<fuchsia::ui::pointer::ViewParameters> mouse_view_parameters_;
void WatchLoop(std::function< void(std::vector< flutter::PointerData >)> callback)
PointerDelegate(fuchsia::ui::pointer::TouchSourceHandle touch_source, fuchsia::ui::pointer::MouseSourceHandle mouse_source)
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
Dart_NativeFunction function
std::size_t operator()(const fuchsia::ui::pointer::TouchInteractionId &ixn) const