diff options
Diffstat (limited to 'core/os')
-rw-r--r-- | core/os/os.cpp | 10 | ||||
-rw-r--r-- | core/os/os.h | 4 | ||||
-rw-r--r-- | core/os/thread.cpp | 5 | ||||
-rw-r--r-- | core/os/thread.h | 6 |
4 files changed, 25 insertions, 0 deletions
diff --git a/core/os/os.cpp b/core/os/os.cpp index 89ba73b35e..7505f3ff34 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -146,6 +146,10 @@ bool OS::is_stdout_verbose() const { return _verbose_stdout; } +bool OS::is_single_window() const { + return _single_window; +} + bool OS::is_stdout_debug_enabled() const { return _debug_stdout; } @@ -227,6 +231,12 @@ String OS::get_locale() const { return "en"; } +// Non-virtual helper to extract the 2 or 3-letter language code from +// `get_locale()` in a way that's consistent for all platforms. +String OS::get_locale_language() const { + return get_locale().left(3).replace("_", ""); +} + // Helper function to ensure that a dir name/path will be valid on the OS String OS::get_safe_dir_name(const String &p_dir_name, bool p_allow_dir_separator) const { Vector<String> invalid_chars = String(": * ? \" < > |").split(" "); diff --git a/core/os/os.h b/core/os/os.h index 55b21266fc..c027428477 100644 --- a/core/os/os.h +++ b/core/os/os.h @@ -52,6 +52,7 @@ class OS { int low_processor_usage_mode_sleep_usec = 10000; bool _verbose_stdout = false; bool _debug_stdout = false; + bool _single_window = false; String _local_clipboard; int _exit_code = EXIT_FAILURE; // unexpected exit is marked as failure int _orientation; @@ -224,6 +225,8 @@ public: void set_stdout_enabled(bool p_enabled); void set_stderr_enabled(bool p_enabled); + bool is_single_window() const; + virtual void disable_crash_handler() {} virtual bool is_disable_crash_handler() const { return false; } virtual void initialize_debugging() {} @@ -240,6 +243,7 @@ public: RenderThreadMode get_render_thread_mode() const { return _render_thread_mode; } virtual String get_locale() const; + String get_locale_language() const; String get_safe_dir_name(const String &p_dir_name, bool p_allow_dir_separator = false) const; virtual String get_godot_dir_name() const; diff --git a/core/os/thread.cpp b/core/os/thread.cpp index 73e31bdb3d..92e43963d2 100644 --- a/core/os/thread.cpp +++ b/core/os/thread.cpp @@ -28,6 +28,10 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ +// Define PLATFORM_CUSTOM_THREAD_H in platform_config.h +// Overriding the platform implementation is required in some proprietary platforms +#ifndef PLATFORM_CUSTOM_THREAD_H + #include "thread.h" #include "core/object/script_language.h" @@ -126,3 +130,4 @@ Thread::~Thread() { } #endif +#endif // PLATFORM_CUSTOM_THREAD_H diff --git a/core/os/thread.h b/core/os/thread.h index 17ac82c650..3a0938c7f7 100644 --- a/core/os/thread.h +++ b/core/os/thread.h @@ -28,6 +28,11 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ +// Define PLATFORM_CUSTOM_THREAD_H in platform_config.h +// Overriding the platform implementation is required in some proprietary platforms +#ifdef PLATFORM_CUSTOM_THREAD_H +#include PLATFORM_CUSTOM_THREAD_H +#else #ifndef THREAD_H #define THREAD_H @@ -116,3 +121,4 @@ public: }; #endif // THREAD_H +#endif // PLATFORM_CUSTOM_THREAD_H |