summaryrefslogtreecommitdiffstats
path: root/main/input_default.h
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2018-05-02 10:47:49 +0200
committerGitHub <noreply@github.com>2018-05-02 10:47:49 +0200
commit18c28c159d12c9d3227c2199998b271f7c5e5998 (patch)
treeba3591964e6dea9d06daa5aaea399fa53a8c2c8e /main/input_default.h
parent04a4270a3485bcc4bd1ce8f7095fe9ea36bc5518 (diff)
parentde9d40a9537bafa613dc54f2200b7509ad6fa9e3 (diff)
downloadredot-engine-18c28c159d12c9d3227c2199998b271f7c5e5998.tar.gz
Merge pull request #17196 from RandomShaper/improve-gui-touch
Implement universal translation of touch to mouse (3.1)
Diffstat (limited to 'main/input_default.h')
-rw-r--r--main/input_default.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/main/input_default.h b/main/input_default.h
index 8a65303df3..2e3cae8520 100644
--- a/main/input_default.h
+++ b/main/input_default.h
@@ -60,7 +60,10 @@ class InputDefault : public Input {
Map<StringName, Action> action_state;
- bool emulate_touch;
+ bool emulate_touch_from_mouse;
+ bool emulate_mouse_from_touch;
+
+ int mouse_from_touch_index;
struct VibrationInfo {
float weak_magnitude;
@@ -176,6 +179,8 @@ private:
void _axis_event(int p_device, int p_axis, float p_value);
float _handle_deadzone(int p_device, int p_axis, float p_value);
+ void _parse_input_event_impl(const Ref<InputEvent> &p_event, bool p_is_emulated);
+
public:
virtual bool is_key_pressed(int p_scancode) const;
virtual bool is_mouse_button_pressed(int p_button) const;
@@ -225,8 +230,12 @@ public:
void iteration(float p_step);
- void set_emulate_touch(bool p_emulate);
- virtual bool is_emulating_touchscreen() const;
+ void set_emulate_touch_from_mouse(bool p_emulate);
+ virtual bool is_emulating_touch_from_mouse() const;
+ void ensure_touch_mouse_raised();
+
+ void set_emulate_mouse_from_touch(bool p_emulate);
+ virtual bool is_emulating_mouse_from_touch() const;
virtual CursorShape get_default_cursor_shape();
virtual void set_default_cursor_shape(CursorShape p_shape);