diff options
Diffstat (limited to 'servers/display_server.h')
-rw-r--r-- | servers/display_server.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/servers/display_server.h b/servers/display_server.h index 04f4b0c03d..36798bd011 100644 --- a/servers/display_server.h +++ b/servers/display_server.h @@ -507,6 +507,8 @@ public: // returns height of the currently shown virtual keyboard (0 if keyboard is hidden) virtual int virtual_keyboard_get_height() const; + virtual bool has_hardware_keyboard() const; + enum CursorShape { CURSOR_ARROW, CURSOR_IBEAM, @@ -594,6 +596,16 @@ public: static Vector<String> get_create_function_rendering_drivers(int p_index); static DisplayServer *create(int p_index, const String &p_rendering_driver, WindowMode p_mode, VSyncMode p_vsync_mode, uint32_t p_flags, const Vector2i *p_position, const Vector2i &p_resolution, int p_screen, Context p_context, Error &r_error); + enum RenderingDeviceCreationStatus { + UNKNOWN, + SUCCESS, + FAILURE, + }; + + // Used to cache the result of `can_create_rendering_device()` when RenderingDevice isn't currently being used. + // This is done as creating a RenderingDevice is quite slow. + static inline RenderingDeviceCreationStatus created_rendering_device = RenderingDeviceCreationStatus::UNKNOWN; + static bool can_create_rendering_device(); DisplayServer(); |