diff options
Diffstat (limited to 'core/os')
| -rw-r--r-- | core/os/dir_access.h | 2 | ||||
| -rw-r--r-- | core/os/input_event.cpp | 16 | ||||
| -rw-r--r-- | core/os/input_event.h | 2 | ||||
| -rw-r--r-- | core/os/os.h | 2 |
4 files changed, 20 insertions, 2 deletions
diff --git a/core/os/dir_access.h b/core/os/dir_access.h index 6b391a87fa..773f0bcd41 100644 --- a/core/os/dir_access.h +++ b/core/os/dir_access.h @@ -38,7 +38,7 @@ @author Juan Linietsky <reduzio@gmail.com> */ -//@ TOOD, excellent candidate for THREAD_SAFE MACRO, should go through all these and add THREAD_SAFE where it applies +//@ TODO, excellent candidate for THREAD_SAFE MACRO, should go through all these and add THREAD_SAFE where it applies class DirAccess { public: enum AccessType { diff --git a/core/os/input_event.cpp b/core/os/input_event.cpp index cc359ef2ac..5bbdd7efb2 100644 --- a/core/os/input_event.cpp +++ b/core/os/input_event.cpp @@ -962,6 +962,22 @@ bool InputEventAction::is_action(const StringName &p_action) const { return action == p_action; } +bool InputEventAction::action_match(const Ref<InputEvent> &p_event, bool *p_pressed, float *p_strength, float p_deadzone) const { + + Ref<InputEventAction> act = p_event; + if (act.is_null()) + return false; + + bool match = action == act->action; + if (match) { + if (p_pressed != NULL) + *p_pressed = act->pressed; + if (p_strength != NULL) + *p_strength = (*p_pressed) ? 1.0f : 0.0f; + } + return match; +} + String InputEventAction::as_text() const { return "InputEventAction : action=" + action + ", pressed=(" + (pressed ? "true" : "false"); diff --git a/core/os/input_event.h b/core/os/input_event.h index cb61e61e7c..789d19c5b2 100644 --- a/core/os/input_event.h +++ b/core/os/input_event.h @@ -481,6 +481,8 @@ public: virtual bool is_action(const StringName &p_action) const; + virtual bool action_match(const Ref<InputEvent> &p_event, bool *p_pressed, float *p_strength, float p_deadzone) const; + virtual bool shortcut_match(const Ref<InputEvent> &p_event) const; virtual bool is_action_type() const { return true; } virtual String as_text() const; diff --git a/core/os/os.h b/core/os/os.h index 8fb5b45f67..7786ffb26e 100644 --- a/core/os/os.h +++ b/core/os/os.h @@ -129,7 +129,7 @@ protected: RenderThreadMode _render_thread_mode; - // functions used by main to initialize/deintialize the OS + // functions used by main to initialize/deinitialize the OS void add_logger(Logger *p_logger); virtual void initialize_core() = 0; |