summaryrefslogtreecommitdiffstats
path: root/core/input/input_event.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/input/input_event.h')
-rw-r--r--core/input/input_event.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/core/input/input_event.h b/core/input/input_event.h
index ed7ccf0a9f..21b61f3bc2 100644
--- a/core/input/input_event.h
+++ b/core/input/input_event.h
@@ -157,6 +157,7 @@ class InputEventKey : public InputEventWithModifiers {
Key physical_keycode = Key::NONE;
Key key_label = Key::NONE;
uint32_t unicode = 0; ///unicode
+ KeyLocation location = KeyLocation::UNSPECIFIED;
bool echo = false; /// true if this is an echo key
@@ -178,6 +179,9 @@ public:
void set_unicode(char32_t p_unicode);
char32_t get_unicode() const;
+ void set_location(KeyLocation p_key_location);
+ KeyLocation get_location() const;
+
void set_echo(bool p_enable);
virtual bool is_echo() const override;
@@ -193,6 +197,7 @@ public:
virtual String as_text_physical_keycode() const;
virtual String as_text_keycode() const;
virtual String as_text_key_label() const;
+ virtual String as_text_location() const;
virtual String as_text() const override;
virtual String to_string() override;
@@ -266,7 +271,9 @@ class InputEventMouseMotion : public InputEventMouse {
Vector2 tilt;
float pressure = 0;
Vector2 relative;
+ Vector2 screen_relative;
Vector2 velocity;
+ Vector2 screen_velocity;
bool pen_inverted = false;
protected:
@@ -285,9 +292,15 @@ public:
void set_relative(const Vector2 &p_relative);
Vector2 get_relative() const;
+ void set_relative_screen_position(const Vector2 &p_relative);
+ Vector2 get_relative_screen_position() const;
+
void set_velocity(const Vector2 &p_velocity);
Vector2 get_velocity() const;
+ void set_screen_velocity(const Vector2 &p_velocity);
+ Vector2 get_screen_velocity() const;
+
virtual Ref<InputEvent> xformed_by(const Transform2D &p_xform, const Vector2 &p_local_ofs = Vector2()) const override;
virtual String as_text() const override;
virtual String to_string() override;
@@ -388,7 +401,9 @@ class InputEventScreenDrag : public InputEventFromWindow {
int index = 0;
Vector2 pos;
Vector2 relative;
+ Vector2 screen_relative;
Vector2 velocity;
+ Vector2 screen_velocity;
Vector2 tilt;
float pressure = 0;
bool pen_inverted = false;
@@ -415,9 +430,15 @@ public:
void set_relative(const Vector2 &p_relative);
Vector2 get_relative() const;
+ void set_relative_screen_position(const Vector2 &p_relative);
+ Vector2 get_relative_screen_position() const;
+
void set_velocity(const Vector2 &p_velocity);
Vector2 get_velocity() const;
+ void set_screen_velocity(const Vector2 &p_velocity);
+ Vector2 get_screen_velocity() const;
+
virtual Ref<InputEvent> xformed_by(const Transform2D &p_xform, const Vector2 &p_local_ofs = Vector2()) const override;
virtual String as_text() const override;
virtual String to_string() override;