DisplayServer¶
Inherits: Object
Methods¶
Enumerations¶
enum Feature:
FEATURE_GLOBAL_MENU = 0
FEATURE_SUBWINDOWS = 1
FEATURE_TOUCHSCREEN = 2
FEATURE_MOUSE = 3
FEATURE_MOUSE_WARP = 4
FEATURE_CLIPBOARD = 5
FEATURE_VIRTUAL_KEYBOARD = 6
FEATURE_CURSOR_SHAPE = 7
FEATURE_CUSTOM_CURSOR_SHAPE = 8
FEATURE_NATIVE_DIALOG = 9
FEATURE_IME = 10
FEATURE_WINDOW_TRANSPARENCY = 11
FEATURE_HIDPI = 12
FEATURE_ICON = 13
FEATURE_NATIVE_ICON = 14
FEATURE_ORIENTATION = 15
FEATURE_SWAP_BUFFERS = 16
FEATURE_CLIPBOARD_PRIMARY = 18
FEATURE_TEXT_TO_SPEECH = 19 --- Display server supports text-to-speech. See
tts_*
methods.
MOUSE_MODE_VISIBLE = 0 --- Makes the mouse cursor visible if it is hidden.
MOUSE_MODE_HIDDEN = 1 --- Makes the mouse cursor hidden if it is visible.
MOUSE_MODE_CAPTURED = 2 --- Captures the mouse. The mouse will be hidden and its position locked at the center of the screen.
Note: If you want to process the mouse's movement in this mode, you need to use InputEventMouseMotion.relative.
MOUSE_MODE_CONFINED = 3 --- Confines the mouse cursor to the game window, and make it visible.
MOUSE_MODE_CONFINED_HIDDEN = 4 --- Confines the mouse cursor to the game window, and make it hidden.
enum ScreenOrientation:
SCREEN_LANDSCAPE = 0
SCREEN_PORTRAIT = 1
SCREEN_REVERSE_LANDSCAPE = 2
SCREEN_REVERSE_PORTRAIT = 3
SCREEN_SENSOR_LANDSCAPE = 4
SCREEN_SENSOR_PORTRAIT = 5
SCREEN_SENSOR = 6
enum CursorShape:
CURSOR_ARROW = 0
CURSOR_IBEAM = 1
CURSOR_POINTING_HAND = 2
CURSOR_CROSS = 3
CURSOR_WAIT = 4
CURSOR_BUSY = 5
CURSOR_DRAG = 6
CURSOR_CAN_DROP = 7
CURSOR_FORBIDDEN = 8
CURSOR_VSIZE = 9
CURSOR_HSIZE = 10
CURSOR_BDIAGSIZE = 11
CURSOR_FDIAGSIZE = 12
CURSOR_MOVE = 13
CURSOR_VSPLIT = 14
CURSOR_HSPLIT = 15
CURSOR_HELP = 16
CURSOR_MAX = 17
enum WindowMode:
WINDOW_MODE_WINDOWED = 0
WINDOW_MODE_MINIMIZED = 1
WINDOW_MODE_MAXIMIZED = 2
WINDOW_MODE_FULLSCREEN = 3 --- Fullscreen window mode. Note that this is not exclusive fullscreen. On Windows and Linux, a borderless window is used to emulate fullscreen. On macOS, a new desktop is used to display the running project.
Regardless of the platform, enabling fullscreen will change the window size to match the monitor's size. Therefore, make sure your project supports multiple resolutions when enabling fullscreen mode.
WINDOW_MODE_EXCLUSIVE_FULLSCREEN = 4 --- Exclusive fullscreen window mode. This mode is implemented on Windows only. On other platforms, it is equivalent to WINDOW_MODE_FULLSCREEN.
Only one window in exclusive fullscreen mode can be visible on a given screen at a time. If multiple windows are in exclusive fullscreen mode for the same screen, the last one being set to this mode takes precedence.
Regardless of the platform, enabling fullscreen will change the window size to match the monitor's size. Therefore, make sure your project supports multiple resolutions when enabling fullscreen mode.
enum WindowFlags:
WINDOW_FLAG_RESIZE_DISABLED = 0 --- Window can't be resizing by dragging its resize grip. It's still possible to resize the window using window_set_size. This flag is ignored for full screen windows.
WINDOW_FLAG_BORDERLESS = 1 --- Window do not have native title bar and other decorations. This flag is ignored for full-screen windows.
WINDOW_FLAG_ALWAYS_ON_TOP = 2 --- Window is floating above other regular windows. This flag is ignored for full-screen windows.
WINDOW_FLAG_TRANSPARENT = 3 --- Window is will be destroyed with its transient parent and displayed on top of non-exclusive full-screen parent window. Transient windows can't enter full-screen mode.
WINDOW_FLAG_NO_FOCUS = 4 --- Window can't be focused. No-focus window will ignore all input, except mouse clicks.
WINDOW_FLAG_POPUP = 5 --- Window is part of menu or OptionButton dropdown. This flag can't be changed when window is visible. An active popup window will exclusively receive all input, without stealing focus from its parent. Popup windows are automatically closed when uses click outside it, or when an application is switched. Popup window must have WINDOW_FLAG_TRANSPARENT set.
WINDOW_FLAG_MAX = 6
enum WindowEvent:
WINDOW_EVENT_MOUSE_ENTER = 0
WINDOW_EVENT_MOUSE_EXIT = 1
WINDOW_EVENT_FOCUS_IN = 2
WINDOW_EVENT_FOCUS_OUT = 3
WINDOW_EVENT_CLOSE_REQUEST = 4
WINDOW_EVENT_GO_BACK_REQUEST = 5
WINDOW_EVENT_DPI_CHANGE = 6
enum VSyncMode:
VSYNC_DISABLED = 0 --- No vertical synchronization, which means the engine will display frames as fast as possible (tearing may be visible).
VSYNC_ENABLED = 1 --- Default vertical synchronization mode, the image is displayed only on vertical blanking intervals (no tearing is visible).
VSYNC_ADAPTIVE = 2 --- Behaves like VSYNC_DISABLED when the framerate drops below the screen's refresh rate to reduce stuttering (tearing may be visible), otherwise vertical synchronization is enabled to avoid tearing.
VSYNC_MAILBOX = 3 --- Displays the most recent image in the queue on vertical blanking intervals, while rendering to the other images (no tearing is visible).
Although not guaranteed, the images can be rendered as fast as possible, which may reduce input lag.
enum HandleType:
DISPLAY_HANDLE = 0 --- Display handle:
Linux:
X11::Display*
for the display.
WINDOW_HANDLE = 1 --- Window handle:
Windows:
HWND
for the window.Linux:
X11::Window*
for the window.MacOS:
NSWindow*
for the window.iOS:
UIViewController*
for the view controller.Android:
jObject
for the activity.
WINDOW_VIEW = 2 --- Window view:
MacOS:
NSView*
for the window main view.iOS:
UIView*
for the window main view.
enum TTSUtteranceEvent:
TTS_UTTERANCE_STARTED = 0 --- Utterance has begun to be spoken.
TTS_UTTERANCE_ENDED = 1 --- Utterance was successfully finished.
TTS_UTTERANCE_CANCELED = 2 --- Utterance was canceled, or TTS service was unable to process it.
TTS_UTTERANCE_BOUNDARY = 3 --- Utterance reached a word or sentence boundary.
Constants¶
SCREEN_OF_MAIN_WINDOW = -1
MAIN_WINDOW_ID = 0
INVALID_WINDOW_ID = -1
Method Descriptions¶
String clipboard_get ( ) const
Returns the user's clipboard as a string if possible.
String clipboard_get_primary ( ) const
Returns the user's primary clipboard as a string if possible.
Note: This method is only implemented on Linux.
bool clipboard_has ( ) const
Returns true
if there is content on the user's clipboard.
void clipboard_set ( String clipboard )
Sets the user's clipboard content to the given string.
void clipboard_set_primary ( String clipboard_primary )
Sets the user's primary clipboard content to the given string.
Note: This method is only implemented on Linux.
int create_sub_window ( WindowMode mode, VSyncMode vsync_mode, int flags, Rect2i rect=Rect2i(0, 0, 0, 0) )
CursorShape cursor_get_shape ( ) const
void cursor_set_custom_image ( Resource cursor, CursorShape shape=0, Vector2 hotspot=Vector2(0, 0) )
void cursor_set_shape ( CursorShape shape )
void delete_sub_window ( int window_id )
Error dialog_input_text ( String title, String description, String existing_text, Callable callback )
Error dialog_show ( String title, String description, PackedStringArray buttons, Callable callback )
void enable_for_stealing_focus ( int process_id )
void force_process_and_drop_events ( )
Array get_display_cutouts ( ) const
Returns an Array of Rect2, each of which is the bounding rectangle for a display cutout or notch. These are non-functional areas on edge-to-edge screens used by cameras and sensors. Returns an empty array if the device does not have cutouts. See also get_display_safe_area.
Note: Currently only implemented on Android. Other platforms will return an empty array even if they do have display cutouts or notches.
Rect2i get_display_safe_area ( ) const
Returns the unobscured area of the display where interactive controls should be rendered. See also get_display_cutouts.
String get_name ( ) const
int get_screen_count ( ) const
bool get_swap_cancel_ok ( )
PackedInt32Array get_window_list ( ) const
Adds a new checkable item with text label
to the global menu with ID menu_root
.
Note: This method is implemented on macOS.
Supported system menu IDs:
"" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
Adds a new checkable item with text label
and icon icon
to the global menu with ID menu_root
.
Note: This method is implemented on macOS.
Supported system menu IDs:
"" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
Adds a new item with text label
and icon icon
to the global menu with ID menu_root
.
Note: This method is implemented on macOS.
Supported system menu IDs:
"" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
Adds a new radio-checkable item with text label
and icon icon
to the global menu with ID menu_root
.
Note: Radio-checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See global_menu_set_item_checked for more info on how to control it.
Note: This method is implemented on macOS.
Supported system menu IDs:
"" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
Adds a new item with text label
to the global menu with ID menu_root
.
Note: This method is implemented on macOS.
Supported system menu IDs:
"" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
Adds a new item with text label
to the global menu with ID menu_root
.
Contrarily to normal binary items, multistate items can have more than two states, as defined by max_states
. Each press or activate of the item will increase the state by one. The default value is defined by default_state
.
Note: This method is implemented on macOS.
Supported system menu IDs:
"" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
Adds a new radio-checkable item with text label
to the global menu with ID menu_root
.
Note: Radio-checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See global_menu_set_item_checked for more info on how to control it.
Note: This method is implemented on macOS.
Supported system menu IDs:
"" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
Adds a separator between items to the global menu with ID menu_root
. Separators also occupy an index.
Note: This method is implemented on macOS.
Supported system menu IDs:
"" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
Adds an item that will act as a submenu of the global menu menu_root
. The submenu
argument is the ID of the global menu root that will be shown when the item is clicked.
Note: This method is implemented on macOS.
Supported system menu IDs:
"" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
Removes all items from the global menu with ID menu_root
.
Note: This method is implemented on macOS.
Supported system menu IDs:
"" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
Returns the accelerator of the item at index idx
. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
Note: This method is implemented on macOS.
Returns the callback of the item at index idx
.
Note: This method is implemented on macOS.
Returns the icon of the item at index idx
.
Note: This method is implemented on macOS.
Returns the index of the item with the specified tag
. Index is automatically assigned to each item by the engine. Index can not be set manually.
Note: This method is implemented on macOS.
Returns the index of the item with the specified text
. Index is automatically assigned to each item by the engine. Index can not be set manually.
Note: This method is implemented on macOS.
Returns number of states of an multistate item. See global_menu_add_multistate_item for details.
Note: This method is implemented on macOS.
Returns the state of an multistate item. See global_menu_add_multistate_item for details.
Note: This method is implemented on macOS.