summaryrefslogtreecommitdiffstats
path: root/servers/display_server.h
diff options
context:
space:
mode:
Diffstat (limited to 'servers/display_server.h')
-rw-r--r--servers/display_server.h12
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();