summaryrefslogtreecommitdiffstats
path: root/core/input/input.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/input/input.h')
-rw-r--r--core/input/input.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/core/input/input.h b/core/input/input.h
index b98406e884..d1f284e8f7 100644
--- a/core/input/input.h
+++ b/core/input/input.h
@@ -145,12 +145,14 @@ private:
struct VelocityTrack {
uint64_t last_tick = 0;
Vector2 velocity;
+ Vector2 screen_velocity;
Vector2 accum;
+ Vector2 screen_accum;
float accum_t = 0.0f;
float min_ref_frame;
float max_ref_frame;
- void update(const Vector2 &p_delta_p);
+ void update(const Vector2 &p_delta_p, const Vector2 &p_screen_delta_p);
void reset();
VelocityTrack();
};
@@ -237,8 +239,8 @@ private:
JoyEvent _get_mapped_button_event(const JoyDeviceMapping &mapping, JoyButton p_button);
JoyEvent _get_mapped_axis_event(const JoyDeviceMapping &mapping, JoyAxis p_axis, float p_value, JoyAxisRange &r_range);
void _get_mapped_hat_events(const JoyDeviceMapping &mapping, HatDir p_hat, JoyEvent r_events[(size_t)HatDir::MAX]);
- JoyButton _get_output_button(String output);
- JoyAxis _get_output_axis(String output);
+ JoyButton _get_output_button(const String &output);
+ JoyAxis _get_output_axis(const String &output);
void _button_event(int p_device, JoyButton p_index, bool p_pressed);
void _axis_event(int p_device, JoyAxis p_axis, float p_value);
void _update_action_cache(const StringName &p_action_name, ActionState &r_action_state);
@@ -268,7 +270,10 @@ protected:
public:
void set_mouse_mode(MouseMode p_mode);
MouseMode get_mouse_mode() const;
+
+#ifdef TOOLS_ENABLED
void get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const override;
+#endif
static Input *get_singleton();
@@ -293,7 +298,7 @@ public:
Vector2 get_joy_vibration_strength(int p_device);
float get_joy_vibration_duration(int p_device);
uint64_t get_joy_vibration_timestamp(int p_device);
- void joy_connection_changed(int p_idx, bool p_connected, String p_name, String p_guid = "", Dictionary p_joypad_info = Dictionary());
+ void joy_connection_changed(int p_idx, bool p_connected, const String &p_name, const String &p_guid = "", const Dictionary &p_joypad_info = Dictionary());
Vector3 get_gravity() const;
Vector3 get_accelerometer() const;
@@ -302,6 +307,7 @@ public:
Point2 get_mouse_position() const;
Vector2 get_last_mouse_velocity();
+ Vector2 get_last_mouse_screen_velocity();
BitField<MouseButtonMask> get_mouse_button_mask() const;
void warp_mouse(const Vector2 &p_position);
@@ -336,13 +342,13 @@ public:
CursorShape get_current_cursor_shape() const;
void set_custom_mouse_cursor(const Ref<Resource> &p_cursor, CursorShape p_shape = Input::CURSOR_ARROW, const Vector2 &p_hotspot = Vector2());
- void parse_mapping(String p_mapping);
+ void parse_mapping(const String &p_mapping);
void joy_button(int p_device, JoyButton p_button, bool p_pressed);
void joy_axis(int p_device, JoyAxis p_axis, float p_value);
void joy_hat(int p_device, BitField<HatMask> p_val);
- void add_joy_mapping(String p_mapping, bool p_update_existing = false);
- void remove_joy_mapping(String p_guid);
+ void add_joy_mapping(const String &p_mapping, bool p_update_existing = false);
+ void remove_joy_mapping(const String &p_guid);
int get_unused_joy_id();
@@ -350,7 +356,7 @@ public:
String get_joy_guid(int p_device) const;
bool should_ignore_device(int p_vendor_id, int p_product_id) const;
Dictionary get_joy_info(int p_device) const;
- void set_fallback_mapping(String p_guid);
+ void set_fallback_mapping(const String &p_guid);
void flush_buffered_events();
bool is_using_input_buffering();