diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-09-08 09:18:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-08 09:18:10 +0200 |
commit | 83df155b60dd90816f21d2acee08e03c1921d2d6 (patch) | |
tree | 048953f1f3a4d709b1499b900a15c725a86b15b5 /platform/android/android_input_handler.h | |
parent | 5803a1ddc5024bcea6fa5482bee206ccac94d62e (diff) | |
parent | c3c0bea61537f12d8116b950e9903bb37e515252 (diff) | |
download | redot-engine-83df155b60dd90816f21d2acee08e03c1921d2d6.tar.gz |
Merge pull request #65434 from m4gr3d/cleanup_input_logic_main
Diffstat (limited to 'platform/android/android_input_handler.h')
-rw-r--r-- | platform/android/android_input_handler.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/platform/android/android_input_handler.h b/platform/android/android_input_handler.h index 6dfab7def8..88490f0407 100644 --- a/platform/android/android_input_handler.h +++ b/platform/android/android_input_handler.h @@ -44,6 +44,11 @@ public: Point2 pos; }; + struct MouseEventInfo { + bool valid = false; + Point2 pos; + }; + enum { JOY_EVENT_BUTTON = 0, JOY_EVENT_AXIS = 1, @@ -68,6 +73,7 @@ private: MouseButton buttons_state = MouseButton::NONE; Vector<TouchPos> touch; + MouseEventInfo mouse_event_info; Point2 hover_prev_pos; // needed to calculate the relative position on hover events void _set_key_modifier_state(Ref<InputEventWithModifiers> ev); @@ -77,11 +83,19 @@ private: void _wheel_button_click(MouseButton event_buttons_mask, const Ref<InputEventMouseButton> &ev, MouseButton wheel_button, float factor); + void _parse_mouse_event_info(MouseButton event_buttons_mask, bool p_pressed, bool p_double_click, bool p_source_mouse_relative); + + void _release_mouse_event_info(bool p_source_mouse_relative = false); + + void _parse_all_touch(bool p_pressed); + + void _release_all_touch(); + public: - void process_touch(int p_event, int p_pointer, const Vector<TouchPos> &p_points); - void process_hover(int p_type, Point2 p_pos); - void process_mouse_event(int input_device, int event_action, int event_android_buttons_mask, Point2 event_pos, float event_vertical_factor = 0, float event_horizontal_factor = 0); - void process_double_tap(int event_android_button_mask, Point2 p_pos); + void process_mouse_event(int p_event_action, int p_event_android_buttons_mask, Point2 p_event_pos, Vector2 p_delta, bool p_double_click, bool p_source_mouse_relative); + void process_touch_event(int p_event, int p_pointer, const Vector<TouchPos> &p_points); + void process_magnify(Point2 p_pos, float p_factor); + void process_pan(Point2 p_pos, Vector2 p_delta); void process_joy_event(JoypadEvent p_event); void process_key_event(int p_keycode, int p_physical_keycode, int p_unicode, bool p_pressed); }; |