DisplayServer

Наследует: Object

Серверный интерфейс для низкоуровневого управления окнами.

Описание

DisplayServer обрабатывает все, что связано с управлением окнами. Он отделен от OS, поскольку одна операционная система может поддерживать несколько серверов отображения.

Режим Headless: Запуск движка с --headless аргументом командной строки отключает все функции рендеринга и управления окнами. Большинство функций из DisplayServer в этом случае будут возвращать фиктивные значения.

Методы

RID

accessibility_create_element(window_id: int, role: AccessibilityRole)

RID

accessibility_create_sub_element(parent_rid: RID, role: AccessibilityRole, insert_pos: int = -1)

RID

accessibility_create_sub_text_edit_elements(parent_rid: RID, shaped_text: RID, min_height: float, insert_pos: int = -1, is_last_line: bool = false)

Variant

accessibility_element_get_meta(id: RID) const

void

accessibility_element_set_meta(id: RID, meta: Variant)

void

accessibility_free_element(id: RID)

RID

accessibility_get_window_root(window_id: int) const

bool

accessibility_has_element(id: RID) const

int

accessibility_screen_reader_active() const

void

accessibility_set_window_focused(window_id: int, focused: bool)

void

accessibility_set_window_rect(window_id: int, rect_out: Rect2, rect_in: Rect2)

int

accessibility_should_increase_contrast() const

int

accessibility_should_reduce_animation() const

int

accessibility_should_reduce_transparency() const

void

accessibility_update_add_action(id: RID, action: AccessibilityAction, callable: Callable)

void

accessibility_update_add_child(id: RID, child_id: RID)

void

accessibility_update_add_custom_action(id: RID, action_id: int, action_description: String)

void

accessibility_update_add_related_controls(id: RID, related_id: RID)

void

accessibility_update_add_related_described_by(id: RID, related_id: RID)

void

accessibility_update_add_related_details(id: RID, related_id: RID)

void

accessibility_update_add_related_flow_to(id: RID, related_id: RID)

void

accessibility_update_add_related_labeled_by(id: RID, related_id: RID)

void

accessibility_update_add_related_radio_group(id: RID, related_id: RID)

void

accessibility_update_set_active_descendant(id: RID, other_id: RID)

void

accessibility_update_set_background_color(id: RID, color: Color)

void

accessibility_update_set_bounds(id: RID, p_rect: Rect2)

void

accessibility_update_set_checked(id: RID, checekd: bool)

void

accessibility_update_set_classname(id: RID, classname: String)

void

accessibility_update_set_color_value(id: RID, color: Color)

void

accessibility_update_set_description(id: RID, description: String)

void

accessibility_update_set_error_message(id: RID, other_id: RID)

void

accessibility_update_set_extra_info(id: RID, name: String)

void

accessibility_update_set_flag(id: RID, flag: AccessibilityFlags, value: bool)

void

accessibility_update_set_focus(id: RID)

void

accessibility_update_set_foreground_color(id: RID, color: Color)

void

accessibility_update_set_in_page_link_target(id: RID, other_id: RID)

void

accessibility_update_set_language(id: RID, language: String)

void

accessibility_update_set_list_item_count(id: RID, size: int)

void

accessibility_update_set_list_item_expanded(id: RID, expanded: bool)

void

accessibility_update_set_list_item_index(id: RID, index: int)

void

accessibility_update_set_list_item_level(id: RID, level: int)

void

accessibility_update_set_list_item_selected(id: RID, selected: bool)

void

accessibility_update_set_list_orientation(id: RID, vertical: bool)

void

accessibility_update_set_live(id: RID, live: AccessibilityLiveMode)

void

accessibility_update_set_member_of(id: RID, group_id: RID)

void

accessibility_update_set_name(id: RID, name: String)

void

accessibility_update_set_next_on_line(id: RID, other_id: RID)

void

accessibility_update_set_num_jump(id: RID, jump: float)

void

accessibility_update_set_num_range(id: RID, min: float, max: float)

void

accessibility_update_set_num_step(id: RID, step: float)

void

accessibility_update_set_num_value(id: RID, position: float)

void

accessibility_update_set_placeholder(id: RID, placeholder: String)

void

accessibility_update_set_popup_type(id: RID, popup: AccessibilityPopupType)

void

accessibility_update_set_previous_on_line(id: RID, other_id: RID)

void

accessibility_update_set_role(id: RID, role: AccessibilityRole)

void

accessibility_update_set_role_description(id: RID, description: String)

void

accessibility_update_set_scroll_x(id: RID, position: float)

void

accessibility_update_set_scroll_x_range(id: RID, min: float, max: float)

void

accessibility_update_set_scroll_y(id: RID, position: float)

void

accessibility_update_set_scroll_y_range(id: RID, min: float, max: float)

void

accessibility_update_set_shortcut(id: RID, shortcut: String)

void

accessibility_update_set_state_description(id: RID, description: String)

void

accessibility_update_set_table_cell_position(id: RID, row_index: int, column_index: int)

void

accessibility_update_set_table_cell_span(id: RID, row_span: int, column_span: int)

void

accessibility_update_set_table_column_count(id: RID, count: int)

void

accessibility_update_set_table_column_index(id: RID, index: int)

void

accessibility_update_set_table_row_count(id: RID, count: int)

void

accessibility_update_set_table_row_index(id: RID, index: int)

void

accessibility_update_set_text_align(id: RID, align: HorizontalAlignment)

void

accessibility_update_set_text_decorations(id: RID, underline: bool, strikethrough: bool, overline: bool)

void

accessibility_update_set_text_orientation(id: RID, vertical: bool)

void

accessibility_update_set_text_selection(id: RID, text_start_id: RID, start_char: int, text_end_id: RID, end_char: int)

void

accessibility_update_set_tooltip(id: RID, tooltip: String)

void

accessibility_update_set_transform(id: RID, transform: Transform2D)

void

accessibility_update_set_url(id: RID, url: String)

void

accessibility_update_set_value(id: RID, value: String)

void

beep() const

String

clipboard_get() const

Image

clipboard_get_image() const

String

clipboard_get_primary() const

bool

clipboard_has() const

bool

clipboard_has_image() const

void

clipboard_set(clipboard: String)

void

clipboard_set_primary(clipboard_primary: String)

bool

color_picker(callback: Callable)

int

create_status_indicator(icon: Texture2D, tooltip: String, callback: Callable)

CursorShape

cursor_get_shape() const

void

cursor_set_custom_image(cursor: Resource, shape: CursorShape = 0, hotspot: Vector2 = Vector2(0, 0))

void

cursor_set_shape(shape: CursorShape)

void

delete_status_indicator(id: int)

Error

dialog_input_text(title: String, description: String, existing_text: String, callback: Callable)

Error

dialog_show(title: String, description: String, buttons: PackedStringArray, callback: Callable)

void

enable_for_stealing_focus(process_id: int)

Error

file_dialog_show(title: String, current_directory: String, filename: String, show_hidden: bool, mode: FileDialogMode, filters: PackedStringArray, callback: Callable, parent_window_id: int = 0)

Error

file_dialog_with_options_show(title: String, current_directory: String, root: String, filename: String, show_hidden: bool, mode: FileDialogMode, filters: PackedStringArray, options: Array[Dictionary], callback: Callable, parent_window_id: int = 0)

void

force_process_and_drop_events()

Color

get_accent_color() const

Color

get_base_color() const

Array[Rect2]

get_display_cutouts() const

Rect2i

get_display_safe_area() const

int

get_keyboard_focus_screen() const

String

get_name() const

int

get_primary_screen() const

int

get_screen_count() const

int

get_screen_from_rect(rect: Rect2) const

bool

get_swap_cancel_ok()

int

get_window_at_screen_position(position: Vector2i) const

PackedInt32Array

get_window_list() const

int

global_menu_add_check_item(menu_root: String, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

global_menu_add_icon_check_item(menu_root: String, icon: Texture2D, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

global_menu_add_icon_item(menu_root: String, icon: Texture2D, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

global_menu_add_icon_radio_check_item(menu_root: String, icon: Texture2D, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

global_menu_add_item(menu_root: String, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

global_menu_add_multistate_item(menu_root: String, label: String, max_states: int, default_state: int, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

global_menu_add_radio_check_item(menu_root: String, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

global_menu_add_separator(menu_root: String, index: int = -1)

int

global_menu_add_submenu_item(menu_root: String, label: String, submenu: String, index: int = -1)

void

global_menu_clear(menu_root: String)

Key

global_menu_get_item_accelerator(menu_root: String, idx: int) const

Callable

global_menu_get_item_callback(menu_root: String, idx: int) const

int

global_menu_get_item_count(menu_root: String) const

Texture2D

global_menu_get_item_icon(menu_root: String, idx: int) const

int

global_menu_get_item_indentation_level(menu_root: String, idx: int) const

int

global_menu_get_item_index_from_tag(menu_root: String, tag: Variant) const

int

global_menu_get_item_index_from_text(menu_root: String, text: String) const

Callable

global_menu_get_item_key_callback(menu_root: String, idx: int) const

int

global_menu_get_item_max_states(menu_root: String, idx: int) const

int

global_menu_get_item_state(menu_root: String, idx: int) const

String

global_menu_get_item_submenu(menu_root: String, idx: int) const

Variant

global_menu_get_item_tag(menu_root: String, idx: int) const

String

global_menu_get_item_text(menu_root: String, idx: int) const

String

global_menu_get_item_tooltip(menu_root: String, idx: int) const

Dictionary

global_menu_get_system_menu_roots() const

bool

global_menu_is_item_checkable(menu_root: String, idx: int) const

bool

global_menu_is_item_checked(menu_root: String, idx: int) const

bool

global_menu_is_item_disabled(menu_root: String, idx: int) const

bool

global_menu_is_item_hidden(menu_root: String, idx: int) const

bool

global_menu_is_item_radio_checkable(menu_root: String, idx: int) const

void

global_menu_remove_item(menu_root: String, idx: int)

void

global_menu_set_item_accelerator(menu_root: String, idx: int, keycode: Key)

void

global_menu_set_item_callback(menu_root: String, idx: int, callback: Callable)

void

global_menu_set_item_checkable(menu_root: String, idx: int, checkable: bool)

void

global_menu_set_item_checked(menu_root: String, idx: int, checked: bool)

void

global_menu_set_item_disabled(menu_root: String, idx: int, disabled: bool)

void

global_menu_set_item_hidden(menu_root: String, idx: int, hidden: bool)

void

global_menu_set_item_hover_callbacks(menu_root: String, idx: int, callback: Callable)

void

global_menu_set_item_icon(menu_root: String, idx: int, icon: Texture2D)

void

global_menu_set_item_indentation_level(menu_root: String, idx: int, level: int)

void

global_menu_set_item_key_callback(menu_root: String, idx: int, key_callback: Callable)

void

global_menu_set_item_max_states(menu_root: String, idx: int, max_states: int)

void

global_menu_set_item_radio_checkable(menu_root: String, idx: int, checkable: bool)

void

global_menu_set_item_state(menu_root: String, idx: int, state: int)

void

global_menu_set_item_submenu(menu_root: String, idx: int, submenu: String)

void

global_menu_set_item_tag(menu_root: String, idx: int, tag: Variant)

void

global_menu_set_item_text(menu_root: String, idx: int, text: String)

void

global_menu_set_item_tooltip(menu_root: String, idx: int, tooltip: String)

void

global_menu_set_popup_callbacks(menu_root: String, open_callback: Callable, close_callback: Callable)

bool

has_additional_outputs() const

bool

has_feature(feature: Feature) const

bool

has_hardware_keyboard() const

void

help_set_search_callbacks(search_callback: Callable, action_callback: Callable)

Vector2i

ime_get_selection() const

String

ime_get_text() const

bool

is_dark_mode() const

bool

is_dark_mode_supported() const

bool

is_touchscreen_available() const

bool

is_window_transparency_available() const

int

keyboard_get_current_layout() const

Key

keyboard_get_keycode_from_physical(keycode: Key) const

Key

keyboard_get_label_from_physical(keycode: Key) const

int

keyboard_get_layout_count() const

String

keyboard_get_layout_language(index: int) const

String

keyboard_get_layout_name(index: int) const

void

keyboard_set_current_layout(index: int)

BitField[MouseButtonMask]

mouse_get_button_state() const

MouseMode

mouse_get_mode() const

Vector2i

mouse_get_position() const

void

mouse_set_mode(mouse_mode: MouseMode)

void

process_events()

void

register_additional_output(object: Object)

int

screen_get_dpi(screen: int = -1) const

Image

screen_get_image(screen: int = -1) const

Image

screen_get_image_rect(rect: Rect2i) const

float

screen_get_max_scale() const

ScreenOrientation

screen_get_orientation(screen: int = -1) const

Color

screen_get_pixel(position: Vector2i) const

Vector2i

screen_get_position(screen: int = -1) const

float

screen_get_refresh_rate(screen: int = -1) const

float

screen_get_scale(screen: int = -1) const

Vector2i

screen_get_size(screen: int = -1) const

Rect2i

screen_get_usable_rect(screen: int = -1) const

bool

screen_is_kept_on() const

void

screen_set_keep_on(enable: bool)

void

screen_set_orientation(orientation: ScreenOrientation, screen: int = -1)

void

set_hardware_keyboard_connection_change_callback(callable: Callable)

void

set_icon(image: Image)

void

set_native_icon(filename: String)

void

set_system_theme_change_callback(callable: Callable)

void

show_emoji_and_symbol_picker() const

Rect2

status_indicator_get_rect(id: int) const

void

status_indicator_set_callback(id: int, callback: Callable)

void

status_indicator_set_icon(id: int, icon: Texture2D)

void

status_indicator_set_menu(id: int, menu_rid: RID)

void

status_indicator_set_tooltip(id: int, tooltip: String)

String

tablet_get_current_driver() const

int

tablet_get_driver_count() const

String

tablet_get_driver_name(idx: int) const

void

tablet_set_current_driver(name: String)

Array[Dictionary]

tts_get_voices() const

PackedStringArray

tts_get_voices_for_language(language: String) const

bool

tts_is_paused() const

bool

tts_is_speaking() const

void

tts_pause()

void

tts_resume()

void

tts_set_utterance_callback(event: TTSUtteranceEvent, callable: Callable)

void

tts_speak(text: String, voice: String, volume: int = 50, pitch: float = 1.0, rate: float = 1.0, utterance_id: int = 0, interrupt: bool = false)

void

tts_stop()

void

unregister_additional_output(object: Object)

int

virtual_keyboard_get_height() const

void

virtual_keyboard_hide()

void

virtual_keyboard_show(existing_text: String, position: Rect2 = Rect2(0, 0, 0, 0), type: VirtualKeyboardType = 0, max_length: int = -1, cursor_start: int = -1, cursor_end: int = -1)

void

warp_mouse(position: Vector2i)

bool

window_can_draw(window_id: int = 0) const

int

window_get_active_popup() const

int

window_get_attached_instance_id(window_id: int = 0) const

int

window_get_current_screen(window_id: int = 0) const

bool

window_get_flag(flag: WindowFlags, window_id: int = 0) const

Vector2i

window_get_max_size(window_id: int = 0) const

Vector2i

window_get_min_size(window_id: int = 0) const

WindowMode

window_get_mode(window_id: int = 0) const

int

window_get_native_handle(handle_type: HandleType, window_id: int = 0) const

Rect2i

window_get_popup_safe_rect(window: int) const

Vector2i

window_get_position(window_id: int = 0) const

Vector2i

window_get_position_with_decorations(window_id: int = 0) const

Vector3i

window_get_safe_title_margins(window_id: int = 0) const

Vector2i

window_get_size(window_id: int = 0) const

Vector2i

window_get_size_with_decorations(window_id: int = 0) const

Vector2i

window_get_title_size(title: String, window_id: int = 0) const

VSyncMode

window_get_vsync_mode(window_id: int = 0) const

bool

window_is_focused(window_id: int = 0) const

bool

window_is_maximize_allowed(window_id: int = 0) const

bool

window_maximize_on_title_dbl_click() const

bool

window_minimize_on_title_dbl_click() const

void

window_move_to_foreground(window_id: int = 0)

void

window_request_attention(window_id: int = 0)

void

window_set_color(color: Color)

void

window_set_current_screen(screen: int, window_id: int = 0)

void

window_set_drop_files_callback(callback: Callable, window_id: int = 0)

void

window_set_exclusive(window_id: int, exclusive: bool)

void

window_set_flag(flag: WindowFlags, enabled: bool, window_id: int = 0)

void

window_set_ime_active(active: bool, window_id: int = 0)

void

window_set_ime_position(position: Vector2i, window_id: int = 0)

void

window_set_input_event_callback(callback: Callable, window_id: int = 0)

void

window_set_input_text_callback(callback: Callable, window_id: int = 0)

void

window_set_max_size(max_size: Vector2i, window_id: int = 0)

void

window_set_min_size(min_size: Vector2i, window_id: int = 0)

void

window_set_mode(mode: WindowMode, window_id: int = 0)

void

window_set_mouse_passthrough(region: PackedVector2Array, window_id: int = 0)

void

window_set_popup_safe_rect(window: int, rect: Rect2i)

void

window_set_position(position: Vector2i, window_id: int = 0)

void

window_set_rect_changed_callback(callback: Callable, window_id: int = 0)

void

window_set_size(size: Vector2i, window_id: int = 0)

void

window_set_title(title: String, window_id: int = 0)

void

window_set_transient(window_id: int, parent_window_id: int)

void

window_set_vsync_mode(vsync_mode: VSyncMode, window_id: int = 0)

void

window_set_window_buttons_offset(offset: Vector2i, window_id: int = 0)

void

window_set_window_event_callback(callback: Callable, window_id: int = 0)

void

window_start_drag(window_id: int = 0)

void

window_start_resize(edge: WindowResizeEdge, window_id: int = 0)


Перечисления

enum Feature: 🔗

Feature FEATURE_GLOBAL_MENU = 0

Устарело: Use NativeMenu or PopupMenu instead.

Display server поддерживает глобальное меню. Это позволяет приложению отображать свои пункты меню в верхней панели операционной системы. macOS

Feature FEATURE_SUBWINDOWS = 1

Дисплейный сервер поддерживает несколько окон, которые можно перемещать за пределы главного окна. Windows, macOS, Linux (X11)

Feature FEATURE_TOUCHSCREEN = 2

Дисплейный сервер поддерживает сенсорный ввод. Windows, Linux (X11), Android, iOS, Web

Feature FEATURE_MOUSE = 3

Дисплейный сервер поддерживает ввод с помощью мыши. Windows, macOS, Linux (X11/Wayland), Android, Web

Feature FEATURE_MOUSE_WARP = 4

Дисплейный сервер поддерживает деформацию координат мыши, чтобы удерживать курсор мыши в пределах области, но зацикливается при достижении одного из краев. Windows, macOS, Linux (X11/Wayland)

Feature FEATURE_CLIPBOARD = 5

Display server поддерживает установку и получение данных буфера обмена. См. также FEATURE_CLIPBOARD_PRIMARY. Windows, macOS, Linux (X11/Wayland), Android, iOS, Web

Feature FEATURE_VIRTUAL_KEYBOARD = 6

Дисплейный сервер поддерживает отображение виртуальной клавиатуры при запросе ввода текста без физической клавиатуры. Android, iOS, Web

Feature FEATURE_CURSOR_SHAPE = 7

Дисплейный сервер поддерживает настройку формы курсора мыши, отличной от формы по умолчанию. Windows, macOS, Linux (X11/Wayland), Android, Web

Feature FEATURE_CUSTOM_CURSOR_SHAPE = 8

Дисплейный сервер поддерживает установку формы курсора мыши на пользовательское изображение. Windows, macOS, Linux (X11/Wayland), Web

Feature FEATURE_NATIVE_DIALOG = 9

Display server поддерживает создание текстовых диалогов с использованием собственного внешнего вида операционной системы. См. dialog_show(). Windows, macOS

Feature FEATURE_IME = 10

Display server поддерживает Редактор методов ввода, который обычно используется для ввода китайского/японского/корейского текста. Это обрабатывается операционной системой, а не Godot. Windows, macOS, Linux (X11)

Feature FEATURE_WINDOW_TRANSPARENCY = 11

Дисплейный сервер поддерживает окна, которые могут использовать попиксельную прозрачность, чтобы сделать окна за ними частично или полностью видимыми. Windows, macOS, Linux (X11/Wayland), Android

Feature FEATURE_HIDPI = 12

Display server поддерживает запрос масштабного коэффициента отображения операционной системы. Это позволяет автоматически определять hiDPI-дисплей надежно, а не угадывать на основе разрешения экрана и сообщенного DPI дисплея (что может быть ненадежным из-за сломанного EDID монитора). Windows, Linux (Wayland), macOS

Feature FEATURE_ICON = 13

Сервер отображения поддерживает изменение значка окна (обычно отображается в верхнем левом углу). Windows, macOS, Linux (X11/Wayland)

Примечание: Для использования в Wayland требуется, чтобы композитор реализовал протокол xdg_toplevel_icon_v1, что есть не у всех композиторов. См. xdg_toplevel_icon_v1#compositor-support для получения дополнительной информации о поддержке отдельных композиторов.

Feature FEATURE_NATIVE_ICON = 14

Дисплейный сервер поддерживает изменение значка окна (обычно отображается в верхнем левом углу). Windows, macOS

Feature FEATURE_ORIENTATION = 15

Дисплейный сервер поддерживает изменение ориентации экрана. Android, iOS

Feature FEATURE_SWAP_BUFFERS = 16

Дисплейный сервер поддерживает статус V-Sync, который можно изменить со значения по умолчанию (которое принудительно включается на платформах, не поддерживающих эту функцию). Windows, macOS, Linux (X11/Wayland)

Feature FEATURE_CLIPBOARD_PRIMARY = 18

Поддержка сервера отображения Основной буфер обмена может быть использован. Это буфер обмена, отличный от FEATURE_CLIPBOARD. Linux (X11/Wayland)

Feature FEATURE_TEXT_TO_SPEECH = 19

Display server поддерживает преобразование текста в речь. См. методы tts_*. Windows, macOS, Linux (X11/Wayland), Android, iOS, Web

Feature FEATURE_EXTEND_TO_TITLE = 20

Display server поддерживает расширение содержимого окна до заголовка. См. WINDOW_FLAG_EXTEND_TO_TITLE. macOS

Feature FEATURE_SCREEN_CAPTURE = 21

Дисплейный сервер поддерживает чтение пикселей экрана. См. screen_get_pixel().

Feature FEATURE_STATUS_INDICATOR = 22

Дисплейный сервер поддерживает индикаторы состояния приложений.

Feature FEATURE_NATIVE_HELP = 23

Дисплейный сервер поддерживает собственные обратные вызовы поиска справочной системы. См. help_set_search_callbacks().

Feature FEATURE_NATIVE_DIALOG_INPUT = 24

Display server поддерживает создание диалогов ввода текста с использованием собственного внешнего вида операционной системы. См. dialog_input_text(). Windows, macOS

Feature FEATURE_NATIVE_DIALOG_FILE = 25

Display server поддерживает создание диалогов для выбора файлов или каталогов с использованием собственного интерфейса операционной системы. См. file_dialog_show(). Windows, macOS, Linux (X11/Wayland), Android

Feature FEATURE_NATIVE_DIALOG_FILE_EXTRA = 26

Дисплейный сервер поддерживает все функции FEATURE_NATIVE_DIALOG_FILE, с дополнительной функциональностью Options и собственным доступом к файлам диалога по путям res:// и user://. См. file_dialog_show() и file_dialog_with_options_show(). Windows, macOS, Linux (X11/Wayland)

Feature FEATURE_WINDOW_DRAG = 27

Дисплейный сервер поддерживает инициирование операций перетаскивания и изменения размера окна по требованию. См. window_start_drag() и window_start_resize().

Feature FEATURE_SCREEN_EXCLUDE_FROM_CAPTURE = 28

Дисплейный сервер поддерживает флаг окна WINDOW_FLAG_EXCLUDE_FROM_CAPTURE. Windows, macOS

Feature FEATURE_WINDOW_EMBEDDING = 29

Дисплейный сервер поддерживает встраивание окна из другого процесса. Windows, Linux (X11), macOS

Feature FEATURE_NATIVE_DIALOG_FILE_MIME = 30

Встроенный диалог выбора файлов поддерживает типы MIME в качестве фильтров.

Feature FEATURE_EMOJI_AND_SYMBOL_PICKER = 31

Дисплейный сервер поддерживает системные эмодзи и средство выбора символов. Windows, macOS

Feature FEATURE_NATIVE_COLOR_PICKER = 32

Дисплейный сервер поддерживает собственный выбор цвета. Linux (X11/Wayland)

Feature FEATURE_SELF_FITTING_WINDOWS = 33

Дисплейный сервер автоматически подгоняет всплывающие окна под границы экрана. Узлы окон не должны пытаться делать это самостоятельно.

Feature FEATURE_ACCESSIBILITY_SCREEN_READER = 34

Дисплейный сервер поддерживает взаимодействие с программой чтения с экрана или дисплеем Брайля. Linux (X11/Wayland), macOS, Windows


enum AccessibilityRole: 🔗

AccessibilityRole ROLE_UNKNOWN = 0

Неизвестная или пользовательская роль.

AccessibilityRole ROLE_DEFAULT_BUTTON = 1

Элемент кнопки диалога по умолчанию.

AccessibilityRole ROLE_AUDIO = 2

Элемент аудиоплеера.

AccessibilityRole ROLE_VIDEO = 3

Элемент видеоплеера.

AccessibilityRole ROLE_STATIC_TEXT = 4

Нередактируемая текстовая метка.

AccessibilityRole ROLE_CONTAINER = 5

Элемент контейнера. Элементы с этой ролью используются для внутренней структуры и игнорируются программами чтения с экрана.

AccessibilityRole ROLE_PANEL = 6

Элемент панельного контейнера.

AccessibilityRole ROLE_BUTTON = 7

Элемент кнопки.

Элемент ссылки.

AccessibilityRole ROLE_CHECK_BOX = 9

Элемент флажка.

AccessibilityRole ROLE_RADIO_BUTTON = 10

Элемент радиокнопки.

AccessibilityRole ROLE_CHECK_BUTTON = 11

Элемент check кнопки.

AccessibilityRole ROLE_SCROLL_BAR = 12

Элемент полосы прокрутки.

AccessibilityRole ROLE_SCROLL_VIEW = 13

Элемент контейнера прокрутки.

AccessibilityRole ROLE_SPLITTER = 14

Элемент ручки разделителя контейнера.

AccessibilityRole ROLE_SLIDER = 15

Элемент слайдера.

AccessibilityRole ROLE_SPIN_BUTTON = 16

Элемент спин-бокса.

AccessibilityRole ROLE_PROGRESS_INDICATOR = 17

Элемент индикатора прогресса.

AccessibilityRole ROLE_TEXT_FIELD = 18

Редактируемый элемент текстового поля.

AccessibilityRole ROLE_MULTILINE_TEXT_FIELD = 19

Многострочный редактируемый элемент текстового поля.

AccessibilityRole ROLE_COLOR_PICKER = 20

Элемент выбора цвета.

AccessibilityRole ROLE_TABLE = 21

Элемент таблицы.

AccessibilityRole ROLE_CELL = 22

Элемент ячейки таблицы/дерева.

AccessibilityRole ROLE_ROW = 23

Элемент строки таблицы/дерева.

AccessibilityRole ROLE_ROW_GROUP = 24

Элемент группы строк таблицы/дерева.

AccessibilityRole ROLE_ROW_HEADER = 25

Элемент заголовка строки таблицы/дерева.

AccessibilityRole ROLE_COLUMN_HEADER = 26

Элемент заголовка столбца таблицы/дерева.

AccessibilityRole ROLE_TREE = 27

Элемент древовидной структуры (Tree view).

AccessibilityRole ROLE_TREE_ITEM = 28

Элемент древовидной структуры (Tree view item).

AccessibilityRole ROLE_LIST = 29

Элемент списка.

AccessibilityRole ROLE_LIST_ITEM = 30

Элемент списка Item.

AccessibilityRole ROLE_LIST_BOX = 31

Элемент представления списка.

AccessibilityRole ROLE_LIST_BOX_OPTION = 32

Элемент списка представлений Item.

AccessibilityRole ROLE_TAB_BAR = 33

Элемент панели вкладок Bar.

AccessibilityRole ROLE_TAB = 34

Элемент панели вкладок Item.

AccessibilityRole ROLE_TAB_PANEL = 35

Элемент панели вкладок.

AccessibilityRole ROLE_MENU_BAR = 36

Элемент строки меню.

AccessibilityRole ROLE_MENU = 37

Элемент всплывающего меню.

AccessibilityRole ROLE_MENU_ITEM = 38

Элемент всплывающего меню Item.

AccessibilityRole ROLE_MENU_ITEM_CHECK_BOX = 39

Элемент кнопки проверки всплывающего меню.

AccessibilityRole ROLE_MENU_ITEM_RADIO = 40

Элемент переключателя всплывающего меню.

AccessibilityRole ROLE_IMAGE = 41

Элемент изображения.

AccessibilityRole ROLE_WINDOW = 42

Элемент окна.

AccessibilityRole ROLE_TITLE_BAR = 43

Встроенный элемент заголовка окна.

AccessibilityRole ROLE_DIALOG = 44

Элемент диалогового окна.

AccessibilityRole ROLE_TOOLTIP = 45

Элемент подсказки.


enum AccessibilityPopupType: 🔗

AccessibilityPopupType POPUP_MENU = 0

Всплывающее меню.

AccessibilityPopupType POPUP_LIST = 1

Всплывающий список.

AccessibilityPopupType POPUP_TREE = 2

Всплывающее древовидное представление.

AccessibilityPopupType POPUP_DIALOG = 3

Всплывающий диалог.


enum AccessibilityFlags: 🔗

AccessibilityFlags FLAG_HIDDEN = 0

Элемент скрыт для инструментов специальных возможностей.

AccessibilityFlags FLAG_MULTISELECTABLE = 1

Элемент поддерживает выбор нескольких элементов.

AccessibilityFlags FLAG_REQUIRED = 2

Элемент требует ввода данных пользователем.

AccessibilityFlags FLAG_VISITED = 3

Элемент — посещенная ссылка.

AccessibilityFlags FLAG_BUSY = 4

Содержимое элемента не готово (например, загрузка).

AccessibilityFlags FLAG_MODAL = 5

Элемент представляет собой модальное окно.

AccessibilityFlags FLAG_TOUCH_PASSTHROUGH = 6

Элемент позволяет передавать касания, когда программа чтения с экрана находится в режиме сенсорного исследования.

AccessibilityFlags FLAG_READONLY = 7

Элемент представляет собой текстовое поле с выбираемым, но доступным только для чтения текстом.

AccessibilityFlags FLAG_DISABLED = 8

Элемент отключен.

AccessibilityFlags FLAG_CLIPS_CHILDREN = 9

Элемент обрезает потомков.


enum AccessibilityAction: 🔗

AccessibilityAction ACTION_CLICK = 0

Действие одинарного щелчка, аргумент обратного вызова не задан.

AccessibilityAction ACTION_FOCUS = 1

Действие фокуса, аргумент обратного вызова не задан.

AccessibilityAction ACTION_BLUR = 2

Действие размытия, аргумент обратного вызова не задан.

AccessibilityAction ACTION_COLLAPSE = 3

Свернуть действие, аргумент обратного вызова не задан.

AccessibilityAction ACTION_EXPAND = 4

Действие Развернуть, аргумент обратного вызова не задан.

AccessibilityAction ACTION_DECREMENT = 5

Действие уменьшения, аргумент обратного вызова не задан.

AccessibilityAction ACTION_INCREMENT = 6

Действие приращения/увеличения, аргумент обратного вызова не задан.

AccessibilityAction ACTION_HIDE_TOOLTIP = 7

Действие скрыть подсказки, аргумент обратного вызова не задан.

AccessibilityAction ACTION_SHOW_TOOLTIP = 8

Действие показать подсказки, аргумент обратного вызова не задан.

AccessibilityAction ACTION_SET_TEXT_SELECTION = 9

Установить действие выделения текста, аргумент обратного вызова установлен на Dictionary со следующими ключами:

  • "start_element" элемент доступности начала выделения.

  • "start_char" смещение символа относительно элемента доступности начала выделения.

  • "end_element" элемент доступности конца выделения.

  • "end_char" смещение символа относительно элемента доступности конца выделения.

AccessibilityAction ACTION_REPLACE_SELECTED_TEXT = 10

Действие «Заменить текст», аргументу обратного вызова присваивается значение String с заменяющим текстом.

AccessibilityAction ACTION_SCROLL_BACKWARD = 11

Действие прокрутки назад, аргумент обратного вызова не задан.

AccessibilityAction ACTION_SCROLL_DOWN = 12

Действие прокрутки вниз, аргументу обратного вызова присваивается значение AccessibilityScrollUnit.

AccessibilityAction ACTION_SCROLL_FORWARD = 13

Действие прокрутки вперед, аргумент обратного вызова не задан.

AccessibilityAction ACTION_SCROLL_LEFT = 14

Действие прокрутки влево, аргументу обратного вызова присвоено значение AccessibilityScrollUnit.

AccessibilityAction ACTION_SCROLL_RIGHT = 15

Действие прокрутки вправо, аргументу обратного вызова присвоено значение AccessibilityScrollUnit.

AccessibilityAction ACTION_SCROLL_UP = 16

Действие прокрутки вверх, аргумент обратного вызова установлен на AccessibilityScrollUnit.

AccessibilityAction ACTION_SCROLL_INTO_VIEW = 17

Прокрутка в действие представления, аргументу обратного вызова присвоено значение AccessibilityScrollHint.

AccessibilityAction ACTION_SCROLL_TO_POINT = 18

Прокрутите до действия, аргумент обратного вызова устанавливается на Vector2 с относительными координатами точек.

AccessibilityAction ACTION_SET_SCROLL_OFFSET = 19

Задайте действие смещения прокрутки, аргументу обратного вызова присваивается значение Vector2 со смещением прокрутки.

AccessibilityAction ACTION_SET_VALUE = 20

Действие «Установить значение», аргументу обратного вызова присваивается значение String или число с новым значением.

AccessibilityAction ACTION_SHOW_CONTEXT_MENU = 21

Действие показать контекстного меню, аргумент обратного вызова не задан.

AccessibilityAction ACTION_CUSTOM = 22

Пользовательское действие, аргумент обратного вызова задается равным целочисленному идентификатору действия.


enum AccessibilityLiveMode: 🔗

AccessibilityLiveMode LIVE_OFF = 0

Указывает, что обновления для текущего региона не должны отображаться.

AccessibilityLiveMode LIVE_POLITE = 1

Указывает, что обновления активной области должны быть представлены при следующей возможности (например, в конце произнесения текущего предложения).

AccessibilityLiveMode LIVE_ASSERTIVE = 2

Указывает, что обновления в активном регионе имеют наивысший приоритет и должны быть представлены немедленно.


enum AccessibilityScrollUnit: 🔗

AccessibilityScrollUnit SCROLL_UNIT_ITEM = 0

Величина прокрутки. Отдельный элемент списка, строка текста.

AccessibilityScrollUnit SCROLL_UNIT_PAGE = 1

Величина прокрутки. Одна страница.


enum AccessibilityScrollHint: 🔗

AccessibilityScrollHint SCROLL_HINT_TOP_LEFT = 0

Предпочтительное положение прокручиваемого узла. Верхний левый край контейнера прокрутки.

AccessibilityScrollHint SCROLL_HINT_BOTTOM_RIGHT = 1

Предпочтительное положение прокручиваемого узла. Нижний правый край контейнера прокрутки.

AccessibilityScrollHint SCROLL_HINT_TOP_EDGE = 2

Предпочтительное положение прокручиваемого узла. Верхний край контейнера прокрутки.

AccessibilityScrollHint SCROLL_HINT_BOTTOM_EDGE = 3

Предпочтительное положение прокручиваемого узла. Нижний край контейнера прокрутки.

AccessibilityScrollHint SCROLL_HINT_LEFT_EDGE = 4

Предпочтительное положение прокручиваемого узла. Левый край контейнера прокрутки.

AccessibilityScrollHint SCROLL_HINT_RIGHT_EDGE = 5

Предпочтительное положение прокручиваемого узла. Правый край контейнера прокрутки.


enum MouseMode: 🔗

MouseMode MOUSE_MODE_VISIBLE = 0

Делает курсор мыши видимым, если он скрыт.

MouseMode MOUSE_MODE_HIDDEN = 1

Делает курсор мыши скрытым, если он виден.

MouseMode MOUSE_MODE_CAPTURED = 2

Захватывает мышь. Мышь будет скрыта, а ее положение зафиксировано в центре окна менеджера окон.

Примечание: Если вы хотите обрабатывать движение мыши в этом режиме, вам нужно использовать InputEventMouseMotion.relative.

MouseMode MOUSE_MODE_CONFINED = 3

Ограничивает курсор мыши окном игры и делает его видимым.

MouseMode MOUSE_MODE_CONFINED_HIDDEN = 4

Ограничивает курсор мыши окном игры и делает его скрытым.

MouseMode MOUSE_MODE_MAX = 5

Максимальное значение MouseMode.


enum ScreenOrientation: 🔗

ScreenOrientation SCREEN_LANDSCAPE = 0

По умолчанию альбомная ориентация.

ScreenOrientation SCREEN_PORTRAIT = 1

Портретная ориентация по умолчанию.

ScreenOrientation SCREEN_REVERSE_LANDSCAPE = 2

Обратная альбомная ориентация (вверх ногами).

ScreenOrientation SCREEN_REVERSE_PORTRAIT = 3

Обратная портретная ориентация (вверх ногами).

ScreenOrientation SCREEN_SENSOR_LANDSCAPE = 4

Автоматическая альбомная ориентация (по умолчанию или обратная в зависимости от датчика).

ScreenOrientation SCREEN_SENSOR_PORTRAIT = 5

Автоматическая портретная ориентация (по умолчанию или обратная в зависимости от датчика).

ScreenOrientation SCREEN_SENSOR = 6

Автоматическая альбомная или портретная ориентация (по умолчанию или обратная в зависимости от датчика).


enum VirtualKeyboardType: 🔗

VirtualKeyboardType KEYBOARD_TYPE_DEFAULT = 0

Текстовая виртуальная клавиатура по умолчанию.

VirtualKeyboardType KEYBOARD_TYPE_MULTILINE = 1

Многострочная виртуальная клавиатура.

VirtualKeyboardType KEYBOARD_TYPE_NUMBER = 2

Виртуальная цифровая клавиатура, полезная для ввода ПИН-кода.

VirtualKeyboardType KEYBOARD_TYPE_NUMBER_DECIMAL = 3

Виртуальная цифровая клавиатура, полезная для ввода дробных чисел.

VirtualKeyboardType KEYBOARD_TYPE_PHONE = 4

Виртуальная клавиатура для набора номера телефона.

VirtualKeyboardType KEYBOARD_TYPE_EMAIL_ADDRESS = 5

Виртуальная клавиатура с дополнительными клавишами для облегчения ввода адресов электронной почты.

VirtualKeyboardType KEYBOARD_TYPE_PASSWORD = 6

Виртуальная клавиатура для ввода пароля. На большинстве платформ это должно отключить автозаполнение и автоматическую капитализацию.

Примечание: Это не поддерживается в Web. Вместо этого это ведет себя идентично KEYBOARD_TYPE_DEFAULT.

VirtualKeyboardType KEYBOARD_TYPE_URL = 7

Виртуальная клавиатура с дополнительными клавишами для облегчения ввода URL-адресов.


enum CursorShape: 🔗

CursorShape CURSOR_ARROW = 0

Форма курсора-стрелки. Это значение по умолчанию, когда не указывается ничего, что переопределяет курсор мыши, например LineEdit или TextEdit.

CursorShape CURSOR_IBEAM = 1

Форма курсора I-beam. Используется по умолчанию при наведении на элемент управления, принимающий текстовый ввод, например LineEdit или TextEdit.

CursorShape CURSOR_POINTING_HAND = 2

Форма указующего курсора руки. Используется по умолчанию при наведении на LinkButton или тег URL в RichTextLabel.

CursorShape CURSOR_CROSS = 3

Курсор-перекрестие. Он предназначен для отображения, когда пользователю необходимо точно навести курсор на элемент, например, на инструмент выделения прямоугольника или на палитру цветов.

CursorShape CURSOR_WAIT = 4

Курсор ожидания. В большинстве тем курсора это отображает вращающийся значок рядом со стрелкой. Предназначено для использования в неблокирующих операциях (когда пользователь может делать что-то еще в данный момент). См. также CURSOR_BUSY.

CursorShape CURSOR_BUSY = 5

Курсор ожидания. В большинстве тем курсора это заменяет стрелку на вращающийся значок. Предназначено для использования при блокировке операций (когда пользователь не может сделать ничего другого в данный момент). См. также CURSOR_WAIT.

CursorShape CURSOR_DRAG = 6

Перетаскивание курсора руки. Отображается во время операций перетаскивания. См. также CURSOR_CAN_DROP.

CursorShape CURSOR_CAN_DROP = 7

Курсор «Можно отпустить». Отображается во время операций перетаскивания, если навести курсор на Control, который может принять событие перетаскивания. В большинстве тем курсора отображается перетаскивающая рука с символом стрелки рядом с ней. См. также CURSOR_DRAG.

CursorShape CURSOR_FORBIDDEN = 8

Запрещенный курсор. Отображается во время операций перетаскивания, если наведенный Control не может принять событие перетаскивания.

CursorShape CURSOR_VSIZE = 9

Курсор изменения вертикального размера. Предназначен для отображения при наведении Control можно изменять размер по вертикали с помощью мыши. См. также CURSOR_VSPLIT.

CursorShape CURSOR_HSIZE = 10

Курсор изменения размера по горизонтали. Предназначен для отображения при наведении Control можно изменять размер по горизонтали с помощью мыши. См. также CURSOR_HSPLIT.

CursorShape CURSOR_BDIAGSIZE = 11

Вторичный диагональный курсор изменения размера (сверху справа/снизу слева). Предназначен для отображения при наведении Control можно изменять размер по обеим осям одновременно с помощью мыши.

CursorShape CURSOR_FDIAGSIZE = 12

Главный диагональный курсор изменения размера (сверху слева/снизу справа). Предназначен для отображения при наведении Control можно изменять размер по обеим осям одновременно с помощью мыши.

CursorShape CURSOR_MOVE = 13

Переместить курсор. Предназначено для отображения при наведении Control и может перемещаться с помощью мыши.

CursorShape CURSOR_VSPLIT = 14

Вертикальный разделенный курсор. Отображается при наведении на Control с разделителями, которые можно изменять по вертикали с помощью мыши, например, VSplitContainer. В некоторых темах курсора этот курсор может иметь тот же вид, что и CURSOR_VSIZE.

CursorShape CURSOR_HSPLIT = 15

Горизонтальный разделенный курсор. Отображается при наведении на Control с разделителями, которые можно изменять по горизонтали с помощью мыши, например, HSplitContainer. В некоторых темах курсора этот курсор может иметь тот же вид, что и CURSOR_HSIZE.

CursorShape CURSOR_HELP = 16

Курсор справки. В большинстве тем курсора это отображает значок вопросительного знака вместо курсора мыши. Предназначено для использования, когда пользователь запросил справку по следующему элементу, который будет нажат.

CursorShape CURSOR_MAX = 17

Представляет размер перечисления CursorShape.


enum FileDialogMode: 🔗

FileDialogMode FILE_DIALOG_MODE_OPEN_FILE = 0

Собственный диалог выбора файла позволяет выбрать один и только один файл.

FileDialogMode FILE_DIALOG_MODE_OPEN_FILES = 1

Собственный файловый диалог позволяет выбрать несколько файлов.

FileDialogMode FILE_DIALOG_MODE_OPEN_DIR = 2

Собственный диалог файлов позволяет выбрать только каталог, не позволяя выбрать какой-либо файл.

FileDialogMode FILE_DIALOG_MODE_OPEN_ANY = 3

Собственный файловый диалог позволяет выбрать один файл или каталог.

FileDialogMode FILE_DIALOG_MODE_SAVE_FILE = 4

Собственный диалог файлов выдаст предупреждение, если файл существует.


enum WindowMode: 🔗

WindowMode WINDOW_MODE_WINDOWED = 0

Оконный режим, т. е. Window не занимает весь экран (если не установлен размер экрана).

WindowMode WINDOW_MODE_MINIMIZED = 1

Режим минимизированного окна, т.е. Window не отображается и недоступно в списке окон оконного менеджера. Обычно происходит при нажатии кнопки минимизации.

WindowMode WINDOW_MODE_MAXIMIZED = 2

Режим развернутого окна, т. е. Window займет всю область экрана, кроме панели задач, и по-прежнему будет отображать ее границы. Обычно это происходит при нажатии кнопки развертывания.

WindowMode WINDOW_MODE_FULLSCREEN = 3

Полноэкранный режим с полной поддержкой многооконности.

Полноэкранное окно охватывает всю область отображения экрана и не имеет украшений. Видеорежим дисплея не изменяется.

На Android: Это включает режим погружения.

На macOS: Новый рабочий стол используется для отображения запущенного проекта.

Примечание: Независимо от платформы, включение полноэкранного режима изменит размер окна в соответствии с размером монитора. Поэтому убедитесь, что ваш проект поддерживает несколько разрешений при включении полноэкранного режима.

WindowMode WINDOW_MODE_EXCLUSIVE_FULLSCREEN = 4

Однооконный полноэкранный режим. Этот режим менее нагружает систему, но на данном экране одновременно может быть открыто только одно окно (открытие дочернего окна или переключение приложений запускает полноэкранный переход).

Полноэкранное окно занимает всю область экрана без рамки или декоративных элементов. Видеорежим дисплея не изменяется.

Примечание: Этот режим может не работать с программами для записи экрана.

На Android: Это включает режим погружения.

На Windows: В зависимости от видеодрайвера, полноэкранный переход может привести к кратковременному потемнению экрана.

На macOS: Для отображения запущенного проекта используется новый рабочий стол. Эксклюзивный полноэкранный режим предотвращает отображение Dock и меню при наведении указателя мыши на край экрана.

На Linux (X11): Эксклюзивный полноэкранный режим обходит композитора.

В Linux (Wayland): Эквивалентно WINDOW_MODE_FULLSCREEN.

Примечание: Независимо от платформы, включение полноэкранного режима изменит размер окна в соответствии с размером монитора. Поэтому убедитесь, что ваш проект поддерживает множественные разрешения при включении полноэкранного режима.


enum WindowFlags: 🔗

WindowFlags WINDOW_FLAG_RESIZE_DISABLED = 0

Размер окна нельзя изменить, перетаскивая его захват изменения размера. Изменить размер окна все еще возможно с помощью window_set_size(). Этот флаг игнорируется для окон на весь экран.

WindowFlags WINDOW_FLAG_BORDERLESS = 1

Окно не имеет родной строки заголовка и других украшений. Этот флаг игнорируется для полноэкранных окон.

WindowFlags WINDOW_FLAG_ALWAYS_ON_TOP = 2

Окно плавает поверх всех других окон. Этот флаг игнорируется для полноэкранных окон.

WindowFlags WINDOW_FLAG_TRANSPARENT = 3

Фон окна может быть прозрачным.

Примечание: Этот флаг не действует, если is_window_transparency_available() возвращает false.

Примечание: Поддержка прозрачности реализована в Linux (X11/Wayland), macOS и Windows, но её доступность может зависеть от драйвера видеокарты, диспетчера отображения и возможностей компоновщика.

Примечание: Поддержка прозрачности реализована в Android, но её можно включить только через ProjectSettings.display/window/per_pixel_transparency/allowed. Этот флаг не действует в Android.

WindowFlags WINDOW_FLAG_NO_FOCUS = 4

Окно не может быть сфокусировано. Окно без фокуса будет игнорировать весь ввод, кроме щелчков мыши.

WindowFlags WINDOW_FLAG_POPUP = 5

Окно является частью меню или раскрывающегося списка OptionButton. Этот флаг нельзя изменить, когда окно видимо. Активное всплывающее окно будет получать весь ввод исключительно, не перехватывая фокус у своего родителя. Всплывающие окна автоматически закрываются, когда пользователи щелкают за его пределами или когда переключается приложение. Всплывающее окно должно иметь установленный временный родительский элемент (см. window_set_transient()).

WindowFlags WINDOW_FLAG_EXTEND_TO_TITLE = 6

Содержимое окна расширяется до полного размера окна. В отличие от окна без границ, рамка остается нетронутой и может использоваться для изменения размера окна, строка заголовка прозрачна, но имеет кнопки свернуть/развернуть/закрыть.

Используйте window_set_window_buttons_offset() для настройки смещения кнопок свернуть/развернуть/закрыть.

Используйте window_get_safe_title_margins() для определения области под строкой заголовка, которая не закрыта украшениями.

Примечание: Этот флаг реализован только в macOS.

WindowFlags WINDOW_FLAG_MOUSE_PASSTHROUGH = 7

Все события мыши передаются в базовое окно того же приложения.

WindowFlags WINDOW_FLAG_SHARP_CORNERS = 8

Стиль окна переопределяется, что приводит к появлению острых углов.

Примечание: Этот флаг реализован только в Windows (11).

WindowFlags WINDOW_FLAG_EXCLUDE_FROM_CAPTURE = 9

Окно исключается из снимков экрана, сделанных методами screen_get_image(), screen_get_image_rect() и screen_get_pixel().

Примечание: Этот флаг реализован в macOS и Windows (10, 20H1).

Примечание: Установка этого флага предотвратит захват изображения окна стандартными методами скриншотов, но НЕ гарантирует, что другие приложения не смогут сделать снимок. Его не следует использовать в качестве DRM-защиты или меры безопасности.

WindowFlags WINDOW_FLAG_POPUP_WM_HINT = 10

Сообщает диспетчеру окон, что данное окно должно быть «всплывающим» окном, определяемым реализацией (обычно плавающим, безрамочным, неразворачиваемым и неподвижным дочерним окном).

WindowFlags WINDOW_FLAG_MINIMIZE_DISABLED = 11

Кнопка минимизации окна отключена.

Примечание: Этот флаг реализован в macOS и Windows.

WindowFlags WINDOW_FLAG_MAXIMIZE_DISABLED = 12

Кнопка максимизации окна отключена.

Примечание: Этот флаг реализован в macOS и Windows.

WindowFlags WINDOW_FLAG_MAX = 13

Представляет размер перечисления WindowFlags.


enum WindowEvent: 🔗

WindowEvent WINDOW_EVENT_MOUSE_ENTER = 0

Отправляется, когда указатель мыши попадает в окно.

WindowEvent WINDOW_EVENT_MOUSE_EXIT = 1

Отправляется, когда указатель мыши покидает окно.

WindowEvent WINDOW_EVENT_FOCUS_IN = 2

Отправляется, когда окно получает фокус.

WindowEvent WINDOW_EVENT_FOCUS_OUT = 3

Отправляется, когда окно теряет фокус.

WindowEvent WINDOW_EVENT_CLOSE_REQUEST = 4

Отправляется, когда пользователь пытается закрыть окно (например, нажимает кнопку закрытия).

WindowEvent WINDOW_EVENT_GO_BACK_REQUEST = 5

Отправляется при нажатии кнопки «Назад» на устройстве.

Примечание: Это событие реализовано только на Android.

WindowEvent WINDOW_EVENT_DPI_CHANGE = 6

Отправляется, когда окно перемещается на дисплей с другим DPI или изменяется DPI дисплея.

Примечание: Этот флаг реализован только в macOS и Linux (Wayland).

WindowEvent WINDOW_EVENT_TITLEBAR_CHANGE = 7

Отправляется при изменении оформления заголовка окна (например, установлена WINDOW_FLAG_EXTEND_TO_TITLE или окно перешло/вышло из полноэкранного режима).

Примечание: Этот флаг реализован только в macOS.

WindowEvent WINDOW_EVENT_FORCE_CLOSE = 8

Отправляется, когда окно было принудительно закрыто сервером отображения. Окно немедленно скроет и очистит все внутренние ссылки на отрисовку.

Примечание: Этот флаг реализован только в Linux (Wayland).


enum WindowResizeEdge: 🔗

WindowResizeEdge WINDOW_EDGE_TOP_LEFT = 0

Верхний левый край окна.

WindowResizeEdge WINDOW_EDGE_TOP = 1

Верхний край окна.

WindowResizeEdge WINDOW_EDGE_TOP_RIGHT = 2

Правый верхний край окна.

WindowResizeEdge WINDOW_EDGE_LEFT = 3

Левый край окна.

WindowResizeEdge WINDOW_EDGE_RIGHT = 4

Правый край окна.

WindowResizeEdge WINDOW_EDGE_BOTTOM_LEFT = 5

Нижний левый край окна.

WindowResizeEdge WINDOW_EDGE_BOTTOM = 6

Нижний край окна.

WindowResizeEdge WINDOW_EDGE_BOTTOM_RIGHT = 7

Нижний правый угол окна.

WindowResizeEdge WINDOW_EDGE_MAX = 8

Представляет размер перечисления WindowResizeEdge.


enum VSyncMode: 🔗

VSyncMode VSYNC_DISABLED = 0

Вертикальная синхронизация отключена, это означает что движок будет пытаться обновлять кадры как можно чаще (из-за этого могут быть заметны разрывы изображения). Частота кадров неограничена (независимо от Engine.max_fps).

VSyncMode VSYNC_ENABLED = 1

Режим вертикальной синхронизации по умолчанию, изображение отображается только в интервалах вертикального гашения (разрывы не видны). Частота кадров ограничена частотой обновления монитора (независимо от Engine.max_fps).

VSyncMode VSYNC_ADAPTIVE = 2

Ведет себя как VSYNC_DISABLED, когда частота кадров падает ниже частоты обновления экрана, чтобы уменьшить заикание (разрывы могут быть видны). В противном случае включается вертикальная синхронизация, чтобы избежать разрывов. Частота кадров ограничена частотой обновления монитора (независимо от Engine.max_fps). Ведет себя как VSYNC_ENABLED при использовании метода рендеринга Compatibility.

VSyncMode VSYNC_MAILBOX = 3

Отображает последнее изображение в очереди на интервалах вертикального гашения, при этом выполняется рендеринг других изображений (разрывы не видны). Частота кадров не ограничена (независимо от Engine.max_fps).

Хотя это и не гарантируется, изображения могут быть отрисованы максимально быстро, что может уменьшить задержку ввода (также называется режимом «Быстрой» вертикальной синхронизации). VSYNC_MAILBOX работает лучше всего, когда отрисовывается как минимум вдвое больше кадров, чем частота обновления дисплея. Ведет себя как VSYNC_ENABLED при использовании метода рендеринга совместимости.


enum HandleType: 🔗

HandleType DISPLAY_HANDLE = 0

Дескриптор дисплея:

  • Linux (X11): X11::Display* для дисплея.

  • Linux (Wayland): wl_display для дисплея.

  • Android: EGLDisplay для дисплея.

HandleType WINDOW_HANDLE = 1

Дескриптор окна:

  • Windows: HWND для окна.

  • Linux (X11): X11::Window* для окна.

  • Linux (Wayland): wl_surface для окна.

  • macOS: NSWindow* для окна.

  • iOS: UIViewController* для контроллера представления.

  • Android: jObject для активности.

HandleType WINDOW_VIEW = 2

Вид окна:

  • Windows: HDC для окна (только с Compatibility renderer).

  • macOS: NSView* для основного вида окна.

  • iOS: UIView* для основного вида окна.

HandleType OPENGL_CONTEXT = 3

Контекст OpenGL (только с Compatibility renderer):

  • Windows: HGLRC для окна (собственный GL) или EGLContext для окна (ANGLE).

  • Linux (X11): GLXContext* для окна.

  • Linux (Wayland): EGLContext для окна.

  • macOS: NSOpenGLContext* для окна (собственный GL) или EGLContext для окна (ANGLE).

  • Android: EGLContext для окна.

HandleType EGL_DISPLAY = 4

  • Windows: EGLDisplay для окна (ANGLE).

  • macOS: EGLDisplay для окна (ANGLE).

  • Linux (Wayland): EGLDisplay для окна.

HandleType EGL_CONFIG = 5

  • Windows: EGLConfig для окна (ANGLE).

  • macOS: EGLConfig для окна (ANGLE).

  • Linux (Wayland): EGLConfig для окна.


enum TTSUtteranceEvent: 🔗

TTSUtteranceEvent TTS_UTTERANCE_STARTED = 0

Высказывания начали звучать.

TTSUtteranceEvent TTS_UTTERANCE_ENDED = 1

Высказывание было успешно завершено.

TTSUtteranceEvent TTS_UTTERANCE_CANCELED = 2

Высказывание было отменено, или служба TTS не смогла его обработать.

TTSUtteranceEvent TTS_UTTERANCE_BOUNDARY = 3

Высказывание достигло границы слова или предложения.


Константы

INVALID_SCREEN = -1 🔗

ID Идентификатор, который ссылается на экран, который не существует. Возвращается некоторыми методами DisplayServer, если ни один экран не соответствует запрошенному результату.

SCREEN_WITH_MOUSE_FOCUS = -4 🔗

Представляет экран, содержащий указатель мыши.

Примечание: В Android, iOS, Web и Linux (Wayland) эта константа всегда представляет экран с индексом 0.

SCREEN_WITH_KEYBOARD_FOCUS = -3 🔗

Представляет экран, содержащий окно с фокусом клавиатуры.

Примечание: В Android, iOS, Web и Linux (Wayland) эта константа всегда представляет экран с индексом 0.

SCREEN_PRIMARY = -2 🔗

Представляет основной экран.

Примечание: В Android, iOS, Web и Linux (Wayland) эта константа всегда представляет экран с индексом 0.

SCREEN_OF_MAIN_WINDOW = -1 🔗

Представляет экран, на котором расположено главное окно. Обычно это значение по умолчанию в функциях, позволяющих указать один из нескольких экранов.

Примечание: В Android, iOS, Web и Linux (Wayland) эта константа всегда представляет экран с индексом 0.

MAIN_WINDOW_ID = 0 🔗

Идентификатор главного окна, созданного движком, который можно передать методам, ожидающим window_id.

INVALID_WINDOW_ID = -1 🔗

Идентификатор, который ссылается на несуществующее окно. Возвращается некоторыми методами DisplayServer, если ни одно окно не соответствует запрошенному результату.

INVALID_INDICATOR_ID = -1 🔗

Идентификатор, ссылающийся на несуществующий индикатор состояния приложения.


Описания метода

RID accessibility_create_element(window_id: int, role: AccessibilityRole) 🔗

Создает новый, пустой ресурс элемента доступности.

Примечание: Элемент доступности создается и освобождается автоматически для каждого Node. В общем случае эту функцию не следует вызывать вручную.


RID accessibility_create_sub_element(parent_rid: RID, role: AccessibilityRole, insert_pos: int = -1) 🔗

Создает новый, пустой ресурс подэлемента доступности. Подэлементы могут использоваться для предоставления информации о доступности для объектов, которые не являются Node, таких как элементы списка, ячейки таблицы или пункты меню. Подэлементы освобождаются автоматически при освобождении родительского элемента или могут быть освобождены заранее с помощью метода accessibility_free_element().


RID accessibility_create_sub_text_edit_elements(parent_rid: RID, shaped_text: RID, min_height: float, insert_pos: int = -1, is_last_line: bool = false) 🔗

Создает новый пустой подэлемент доступности из буфера текста определенной формы. Подэлементы освобождаются автоматически при освобождении родительского элемента или могут быть освобождены досрочно с помощью метода accessibility_free_element().

Если is_last_line имеет значение true, к содержимому текста не добавляется завершающая новая строка. Установите значение true для последней строки в многострочных текстовых полях и для однострочных текстовых полей.


Variant accessibility_element_get_meta(id: RID) const 🔗

Возвращает метаданные элемента доступности id.


void accessibility_element_set_meta(id: RID, meta: Variant) 🔗

Устанавливает метаданные элемента доступности id равными meta.


void accessibility_free_element(id: RID) 🔗

Освобождает элемент доступности id, созданный с помощью accessibility_create_element(), accessibility_create_sub_element() или accessibility_create_sub_text_edit_elements().


RID accessibility_get_window_root(window_id: int) const 🔗

Возвращает основной элемент доступности собственного окна ОС.


bool accessibility_has_element(id: RID) const 🔗

Возвращает true, если id является допустимым элементом доступности.


int accessibility_screen_reader_active() const 🔗

Возвращает 1, если активна программа чтения с экрана, брайлевский дисплей или другое вспомогательное приложение, 0 в противном случае. Возвращает -1, если статус неизвестен.

Примечание: Этот метод реализован в Linux, macOS и Windows.

Примечание: Инструменты отладки специальных возможностей, такие как Accessibility Insights для Windows, Accessibility Inspector (macOS) или AT-SPI Browser (Linux/BSD), не считаются вспомогательными приложениями и не повлияют на это значение. Чтобы протестировать свой проект с помощью этих инструментов, установите ProjectSettings.accessibility/general/accessibility_support в 1.


void accessibility_set_window_focused(window_id: int, focused: bool) 🔗

Устанавливает состояние фокуса окна для вспомогательных приложений.

Примечание: Этот метод реализован в Linux, macOS и Windows.

Примечание: Только для опытных пользователей! Объекты Window вызывают этот метод автоматически.


void accessibility_set_window_rect(window_id: int, rect_out: Rect2, rect_in: Rect2) 🔗

Устанавливает внешние (с украшениями) и внутренние (без украшений) границы окна для вспомогательных приложений.

Примечание: Этот метод реализован в Linux, macOS и Windows.

Примечание: Только для опытных пользователей! Объекты Window вызывают этот метод автоматически.


int accessibility_should_increase_contrast() const 🔗

Возвращает 1, если следует использовать высококонтрастную тему пользовательского интерфейса, в противном случае 0. Возвращает -1, если статус неизвестен.

Примечание: Этот метод реализован в Linux (X11/Wayland, GNOME), macOS и Windows.


int accessibility_should_reduce_animation() const 🔗

Возвращает 1, если мигание, мерцание и другой движущийся контент, который может вызвать припадки у пользователей с фоточувствительной эпилепсией, следует отключить, в противном случае — 0. Возвращает -1, если статус неизвестен.

Примечание: Этот метод реализован в macOS и Windows.


int accessibility_should_reduce_transparency() const 🔗

Возвращает 1, если фоновые изображения, прозрачность и другие функции, которые могут уменьшить контраст между передним планом и фоном, должны быть отключены, 0 в противном случае. Возвращает -1, если статус неизвестен.

Примечание: Этот метод реализован в macOS и Windows.


void accessibility_update_add_action(id: RID, action: AccessibilityAction, callable: Callable) 🔗

Добавляет обратный вызов для действия доступности (действие, которое может быть выполнено с помощью специальной команды экранного диктора или кнопок на дисплее Брайля) и отмечает это действие как поддерживаемое. Обратный вызов действия получает один аргумент Variant, значение которого зависит от типа действия.


void accessibility_update_add_child(id: RID, child_id: RID) 🔗

Добавляет дочерний элемент доступности.

Примечание: Дочерние и подэлементы Node добавляются в список дочерних элементов автоматически.


void accessibility_update_add_custom_action(id: RID, action_id: int, action_description: String) 🔗

Добавляет поддержку для настраиваемого действия специальных возможностей. action_id передается как аргумент обратному вызову действия ACTION_CUSTOM.


Добавляет элемент, который контролируется данным элементом.


Добавляет элемент, описывающий этот элемент.


Добавляет элемент, детализирующий этот элемент.


Добавляет элемент, в который вливается данный элемент.


Добавляет элемент, маркирующий этот элемент.


Добавляет элемент, который является частью той же радиогруппы.

Примечание: Этот метод следует вызывать для каждого элемента группы, используя все остальные элементы как related_id.


void accessibility_update_set_active_descendant(id: RID, other_id: RID) 🔗

Добавляет элемент, который является активным потомком данного элемента.


void accessibility_update_set_background_color(id: RID, color: Color) 🔗

Устанавливает цвет фона элемента.


void accessibility_update_set_bounds(id: RID, p_rect: Rect2) 🔗

Устанавливает ограничивающую рамку элемента относительно положения узла.


void accessibility_update_set_checked(id: RID, checekd: bool) 🔗

Устанавливает состояние проверки элемента.


void accessibility_update_set_classname(id: RID, classname: String) 🔗

Задает имя класса элемента.


void accessibility_update_set_color_value(id: RID, color: Color) 🔗

Устанавливает значение цвета элемента.


void accessibility_update_set_description(id: RID, description: String) 🔗

Устанавливает описание доступности элемента.


void accessibility_update_set_error_message(id: RID, other_id: RID) 🔗

Устанавливает элемент, содержащий сообщение об ошибке для этого элемента.


void accessibility_update_set_extra_info(id: RID, name: String) 🔗

Устанавливает дополнительную информацию о доступности элемента, добавляемую к имени элемента.


void accessibility_update_set_flag(id: RID, flag: AccessibilityFlags, value: bool) 🔗

Устанавливает флаг элемента.


void accessibility_update_set_focus(id: RID) 🔗

Устанавливает текущий элемент, находящийся в фокусе.


void accessibility_update_set_foreground_color(id: RID, color: Color) 🔗

Устанавливает цвет переднего плана элемента.


Устанавливает цель элемента для ссылки.


void accessibility_update_set_language(id: RID, language: String) 🔗

Устанавливает язык текста элемента.


void accessibility_update_set_list_item_count(id: RID, size: int) 🔗

Устанавливает количество элементов в списке.


void accessibility_update_set_list_item_expanded(id: RID, expanded: bool) 🔗

Устанавливает развернутый статус элемента списка/дерева.


void accessibility_update_set_list_item_index(id: RID, index: int) 🔗

Устанавливает позицию элемента в списке.


void accessibility_update_set_list_item_level(id: RID, level: int) 🔗

Устанавливает иерархический уровень элемента в списке.


void accessibility_update_set_list_item_selected(id: RID, selected: bool) 🔗

Устанавливает статус выбранного элемента списка/дерева.


void accessibility_update_set_list_orientation(id: RID, vertical: bool) 🔗

Задает ориентацию элементов списка.


void accessibility_update_set_live(id: RID, live: AccessibilityLiveMode) 🔗

Устанавливает приоритет обновлений региона в реальном времени.


void accessibility_update_set_member_of(id: RID, group_id: RID) 🔗

Устанавливает элемент как член группы.


void accessibility_update_set_name(id: RID, name: String) 🔗

Устанавливает имя доступности элемента.


void accessibility_update_set_next_on_line(id: RID, other_id: RID) 🔗

Устанавливает следующий элемент в строке.


void accessibility_update_set_num_jump(id: RID, jump: float) 🔗

Устанавливает скачок числового значения.


void accessibility_update_set_num_range(id: RID, min: float, max: float) 🔗

Устанавливает диапазон числовых значений.


void accessibility_update_set_num_step(id: RID, step: float) 🔗

Устанавливает шаг числового значения.


void accessibility_update_set_num_value(id: RID, position: float) 🔗

Устанавливает числовое значение.


void accessibility_update_set_placeholder(id: RID, placeholder: String) 🔗

Устанавливает текст-заполнитель.


void accessibility_update_set_popup_type(id: RID, popup: AccessibilityPopupType) 🔗

Устанавливает тип всплывающего окна для всплывающих кнопок.


void accessibility_update_set_previous_on_line(id: RID, other_id: RID) 🔗

Устанавливает предыдущий элемент в строке.


void accessibility_update_set_role(id: RID, role: AccessibilityRole) 🔗

Устанавливает роль доступности элемента.


void accessibility_update_set_role_description(id: RID, description: String) 🔗

Устанавливает текст описания роли доступности элемента.


void accessibility_update_set_scroll_x(id: RID, position: float) 🔗

Устанавливает положение полосы прокрутки по оси x.


void accessibility_update_set_scroll_x_range(id: RID, min: float, max: float) 🔗

Устанавливает диапазон полосы прокрутки x.


void accessibility_update_set_scroll_y(id: RID, position: float) 🔗

Устанавливает положение полосы прокрутки по оси Y.


void accessibility_update_set_scroll_y_range(id: RID, min: float, max: float) 🔗

Устанавливает диапазон прокрутки по оси Y.


void accessibility_update_set_shortcut(id: RID, shortcut: String) 🔗

Задает список сочетаний клавиш, используемых элементом.


void accessibility_update_set_state_description(id: RID, description: String) 🔗

Устанавливает понятное человеку описание текущего отмеченного состояния.


void accessibility_update_set_table_cell_position(id: RID, row_index: int, column_index: int) 🔗

Устанавливает положение ячейки в таблице.


void accessibility_update_set_table_cell_span(id: RID, row_span: int, column_span: int) 🔗

Устанавливает диапазон строк/столбцов ячеек.


void accessibility_update_set_table_column_count(id: RID, count: int) 🔗

Задает количество столбцов в таблице.


void accessibility_update_set_table_column_index(id: RID, index: int) 🔗

Устанавливает положение столбца.


void accessibility_update_set_table_row_count(id: RID, count: int) 🔗

Устанавливает количество строк в таблице.


void accessibility_update_set_table_row_index(id: RID, index: int) 🔗

Устанавливает положение строки в таблице.


void accessibility_update_set_text_align(id: RID, align: HorizontalAlignment) 🔗

Устанавливает выравнивание текста элемента.


void accessibility_update_set_text_decorations(id: RID, underline: bool, strikethrough: bool, overline: bool) 🔗

Устанавливает подчеркивание/надчеркивание/зачеркивание текста.


void accessibility_update_set_text_orientation(id: RID, vertical: bool) 🔗

Устанавливает ориентацию текста.


void accessibility_update_set_text_selection(id: RID, text_start_id: RID, start_char: int, text_end_id: RID, end_char: int) 🔗

Устанавливает выделение текста в текстовое поле. text_start_id и text_end_id должны быть элементами, созданными accessibility_create_sub_text_edit_elements(). Смещения символов указаны относительно соответствующего элемента.


void accessibility_update_set_tooltip(id: RID, tooltip: String) 🔗

Устанавливает текст подсказки.


void accessibility_update_set_transform(id: RID, transform: Transform2D) 🔗

Устанавливает 2D-преобразование элемента.


void accessibility_update_set_url(id: RID, url: String) 🔗

Устанавливает URL-адрес ссылки.


void accessibility_update_set_value(id: RID, value: String) 🔗

Устанавливает текстовое значение элемента.


void beep() const 🔗

Воспроизводит звуковой сигнал из операционной системы, если это возможно. Поскольку он исходит от ОС, звуковой сигнал будет слышен, даже если приложение отключено. Он также может быть отключен для всей ОС пользователем.

Примечание: Этот метод реализован в macOS, Linux (X11/Wayland) и Windows.


String clipboard_get() const 🔗

Возвращает буфер обмена пользователя в виде строки, если это возможно.


Image clipboard_get_image() const 🔗

Возвращает содержимое буфера обмена пользователя в виде изображения, если это возможно.

Примечание: Этот метод использует скопированные пиксельные данные, например, из программы для редактирования изображений или веб-браузера, а не файл изображения, скопированный из проводника.


String clipboard_get_primary() const 🔗

Возвращает основной буфер обмена пользователя в виде строки, если это возможно. Это буфер обмена, который устанавливается, когда пользователь выделяет текст в любом приложении, а не при нажатии Ctrl + C. Затем данные буфера обмена можно вставить, щелкнув среднюю кнопку мыши в любом приложении, которое поддерживает механизм основного буфера обмена.

Примечание: Этот метод реализован только в Linux (X11/Wayland).


bool clipboard_has() const 🔗

Возвращает true, если в буфере обмена пользователя есть текстовое содержимое.


bool clipboard_has_image() const 🔗

Возвращает true, если в буфере обмена пользователя есть изображение.


void clipboard_set(clipboard: String) 🔗

Устанавливает содержимое буфера обмена пользователя в соответствии с заданной строкой.


void clipboard_set_primary(clipboard_primary: String) 🔗

Устанавливает содержимое буфера обмена пользователя основного на указанную строку. Это буфер обмена, который устанавливается, когда пользователь выделяет текст в любом приложении, а не при нажатии Ctrl + C. Затем данные буфера обмена можно вставить, щелкнув среднюю кнопку мыши в любом приложении, которое поддерживает механизм основного буфера обмена.

Примечание: Этот метод реализован только в Linux (X11/Wayland).


bool color_picker(callback: Callable) 🔗

Отображает собственный выбор цвета ОС.

Обратные вызовы имеют следующие аргументы: status: bool, color: Color.

Примечание: Этот метод реализован, если сервер отображения имеет функцию FEATURE_NATIVE_COLOR_PICKER.

Примечание: Этот метод реализован только в Linux (X11/Wayland).


int create_status_indicator(icon: Texture2D, tooltip: String, callback: Callable) 🔗

Создает новый индикатор состояния приложения с указанным значком, подсказкой и обратным вызовом активации.

callback должен принимать два аргумента: нажатую кнопку мыши (одну из констант MouseButton) и позицию щелчка в координатах экрана (a Vector2i).


CursorShape cursor_get_shape() const 🔗

Возвращает форму курсора мыши по умолчанию, установленную cursor_set_shape().


void cursor_set_custom_image(cursor: Resource, shape: CursorShape = 0, hotspot: Vector2 = Vector2(0, 0)) 🔗

Устанавливает пользовательское изображение курсора мыши для заданного параметра shape. Это означает, что операционная система пользователя и тема курсора мыши больше не будут влиять на его внешний вид.

Параметр cursor может быть либо Texture2D, либо Image, и его размер не должен превышать 256×256 для корректного отображения. При желании параметр hotspot может быть установлен для смещения положения изображения относительно точки щелчка. По умолчанию hotspot устанавливается в верхний левый угол изображения. См. также cursor_set_shape().

Примечание: В веб-среде вызов этого метода каждый кадр может привести к мерцанию курсора.


void cursor_set_shape(shape: CursorShape) 🔗

Устанавливает форму курсора мыши по умолчанию. Внешний вид курсора будет зависеть от операционной системы пользователя и темы курсора мыши. См. также cursor_get_shape() и cursor_set_custom_image().


void delete_status_indicator(id: int) 🔗

Удаляет индикатор состояния приложения.


Error dialog_input_text(title: String, description: String, existing_text: String, callback: Callable) 🔗

Показывает диалоговое окно ввода текста, которое использует собственный стиль операционной системы. callback должен принимать один параметр String, содержащий содержимое текстового поля.

Примечание: Этот метод реализуется, если сервер отображения имеет функцию FEATURE_NATIVE_DIALOG_INPUT. Поддерживаемые платформы включают macOS, Windows и Android.


Error dialog_show(title: String, description: String, buttons: PackedStringArray, callback: Callable) 🔗

Показывает текстовый диалог, который использует собственный стиль операционной системы. callback должен принимать один параметр int, который соответствует индексу нажатой кнопки.

Примечание: Этот метод реализуется, если сервер отображения имеет функцию FEATURE_NATIVE_DIALOG. Поддерживаемые платформы включают macOS, Windows и Android.


void enable_for_stealing_focus(process_id: int) 🔗

Позволяет process_id PID украсть фокус из этого окна. Другими словами, это отключает защиту операционной системы от украденного фокуса для указанного PID.

Примечание: Этот метод реализован только в Windows.


Error file_dialog_show(title: String, current_directory: String, filename: String, show_hidden: bool, mode: FileDialogMode, filters: PackedStringArray, callback: Callable, parent_window_id: int = 0) 🔗

Отображает встроенный диалог ОС для выбора файлов или каталогов в файловой системе.

Каждая строка фильтра в массиве filters должна быть отформатирована следующим образом: *.png,*.jpg,*.jpeg;Image Files;image/png,image/jpeg. Текст описания фильтра является необязательным и может быть опущен. Рекомендуется указывать как расширение файла, так и MIME-тип. См. также FileDialog.filters.

Обратные вызовы имеют следующие аргументы: status: bool, selected_paths: PackedStringArray, selected_filter_index: int. На Android третий аргумент обратного вызова (selected_filter_index) всегда равен 0.

Примечание: Этот метод реализован, если сервер отображения имеет функцию FEATURE_NATIVE_DIALOG_FILE. Поддерживаемые платформы: Linux (X11/Wayland), Windows, macOS и Android (уровень API 29+).

Примечание: Параметр current_directory может быть проигнорирован.

Примечание: Встроенные диалоговые окна выбора файлов и диалоговые окна выбора файлов Windows поддерживают только расширения файлов, в то время как диалоговые окна выбора файлов Android, Linux и macOS также поддерживают типы MIME.

Примечание: На Android и Linux параметр show_hidden игнорируется.

Примечание: На Android и macOS у нативных диалоговых окон выбора файлов нет заголовка.

Примечание: На macOS изолированные приложения сохраняют закладки с ограниченным доступом, чтобы сохранить доступ к открытым папкам в нескольких сессиях. Используйте OS.get_granted_permissions(), чтобы получить список сохраненных закладок.

Примечание: На Android этот метод использует Android Storage Access Framework (SAF).

Средство выбора файлов возвращает URI вместо пути к файловой системе. Этот URI можно передать непосредственно в FileAccess для выполнения операций чтения/записи.

При использовании FILE_DIALOG_MODE_OPEN_DIR возвращается URI дерева, предоставляющий полный доступ к выбранному каталогу. Операции с файлами внутри этого каталога можно выполнять, передавая путь в формате treeUri#relative/path/to/file в FileAccess.

Чтобы избежать повторного открытия средства выбора файлов после каждого перезапуска приложения, можно получить постоянное разрешение URI следующим образом:

val uri = "content://com.android..." # URI выбранного файла или папки.
val persist = true # Установите значение false, чтобы освободить сохраняемое разрешение.
var android_runtime = Engine.get_singleton("AndroidRuntime")
android_runtime.updatePersistableUriPermission(uri, persist)

Сохраняемое разрешение URI остается в силе после перезапуска приложения, если каталог не перемещен, не переименован и не удален.


Error file_dialog_with_options_show(title: String, current_directory: String, root: String, filename: String, show_hidden: bool, mode: FileDialogMode, filters: PackedStringArray, options: Array[Dictionary], callback: Callable, parent_window_id: int = 0) 🔗

Отображает встроенный диалог ОС для выбора файлов или каталогов в файловой системе с дополнительными параметрами, выбираемыми пользователем.

Каждая строка фильтра в массиве filters должна быть отформатирована следующим образом: *.png,*.jpg,*.jpeg;Image Files;image/png,image/jpeg. Текст описания фильтра является необязательным и может быть опущен. Рекомендуется указывать как расширение файла, так и MIME-тип. См. также FileDialog.filters.

options — это массив Dictionary со следующими ключами:

  • "name" — имя параметра String.

  • "values"PackedStringArray значений. Если пусто, используется логический параметр (флажок).

  • "default" — индекс выбранного параметра по умолчанию (int) или логическое значение по умолчанию (bool).

Функции обратного вызова имеют следующие аргументы: status: bool, selected_paths: PackedStringArray, selected_filter_index: int, selected_option: Dictionary.

Примечание: Этот метод реализуется, если сервер отображения имеет функцию FEATURE_NATIVE_DIALOG_FILE_EXTRA. Поддерживаемые платформы включают Linux (X11/Wayland), Windows и macOS.

Примечание: Параметр current_directory может быть проигнорирован.

Примечание: Встроенные диалоговые окна выбора файлов и диалоговые окна выбора файлов Windows поддерживают только расширения файлов, в то время как диалоговые окна выбора файлов Android, Linux и macOS также поддерживают типы MIME.

Примечание: В Linux (X11) параметр show_hidden игнорируется.

Примечание: В macOS собственные диалоговые окна выбора файлов не имеют заголовка.

Примечание: В macOS изолированные приложения сохраняют закладки с ограничениями безопасности, чтобы обеспечить доступ к открытым папкам в нескольких сеансах. Используйте OS.get_granted_permissions(), чтобы получить список сохраненных закладок.


void force_process_and_drop_events() 🔗

Запускает обработку оконного менеджера, игнорируя все InputEvent. См. также process_events().

Примечание: Этот метод реализован в Windows и macOS.


Color get_accent_color() const 🔗

Возвращает акцентный цвет темы ОС. Возвращает Color(0, 0, 0, 0), если акцентный цвет неизвестен.

Примечание: Этот метод реализован в macOS, Windows, Android и Linux (X11/Wayland).


Color get_base_color() const 🔗

Возвращает базовый цвет темы ОС (фон элемента управления по умолчанию). Возвращает Color(0, 0, 0, 0), если базовый цвет неизвестен.

Примечание: Этот метод реализован в macOS, Windows и Android.


Array[Rect2] get_display_cutouts() const 🔗

Возвращает Array из Rect2, каждый из которых является ограничивающим прямоугольником для выреза или выемки дисплея. Это нефункциональные области на экранах от края до края, используемые камерами и датчиками. Возвращает пустой массив, если устройство не имеет вырезов. См. также get_display_safe_area().

Примечание: В настоящее время реализовано только на Android. Другие платформы вернут пустой массив, даже если у них есть вырезы или выемки дисплея.


Rect2i get_display_safe_area() const 🔗

Возвращает незатененную область дисплея, где должны отображаться интерактивные элементы управления. См. также get_display_cutouts().

Примечание: В настоящее время реализовано только на Android и iOS. На других платформах в качестве резервного варианта будет возвращен screen_get_usable_rect(SCREEN_OF_MAIN_WINDOW). См. также screen_get_usable_rect().


int get_keyboard_focus_screen() const 🔗

Возвращает индекс экрана, содержащего окно с фокусом клавиатуры, или основного экрана, если нет окна с фокусом.

Примечание: Этот метод реализован в Linux/X11, macOS и Windows. На других платформах этот метод всегда возвращает основной экран.


String get_name() const 🔗

Возвращает имя DisplayServer, который в данный момент используется. Большинство операционных систем имеют только один DisplayServer, но Linux имеет доступ к нескольким DisplayServer (в настоящее время X11 и Wayland).

Имена встроенных серверов отображения: Windows, macOS, X11 (Linux), Wayland (Linux), Android, iOS, web (HTML5) и headless (при запуске с --headless аргументом командной строки).


int get_primary_screen() const 🔗

Возвращает индекс основного экрана.

Примечание: Этот метод реализован в Linux/X11, macOS и Windows. На других платформах этот метод всегда возвращает 0.


int get_screen_count() const 🔗

Возвращает количество доступных дисплеев.

Примечание: Этот метод реализован в Linux (X11 и Wayland), macOS и Windows. На других платформах этот метод всегда возвращает 1.


int get_screen_from_rect(rect: Rect2) const 🔗

Возвращает индекс экрана, который больше всего перекрывается с указанным прямоугольником. Возвращает INVALID_SCREEN, если прямоугольник не перекрывается ни с одним экраном или не имеет области.


bool get_swap_cancel_ok() 🔗

Возвращает true, если позиции кнопок OK и Cancel поменяны местами в диалогах. Это включено по умолчанию в Windows для соблюдения соглашений интерфейса и может быть переключено путем изменения ProjectSettings.gui/common/swap_cancel_ok.

Примечание: Это не влияет на собственные диалоги, такие как те, которые порождаются dialog_show().


int get_window_at_screen_position(position: Vector2i) const 🔗

Возвращает идентификатор окна на указанном экране position (в пикселях). В многомониторных установках положение экрана относительно области виртуального рабочего стола. В многомониторных установках с различными разрешениями экрана или ориентациями начало координат может располагаться за пределами любого дисплея, например:

* (0, 0)        +-------+
                |       |
+-------------+ |       |
|             | |       |
|             | |       |
+-------------+ +-------+

PackedInt32Array get_window_list() const 🔗

Возвращает список идентификаторов окон Godot, принадлежащих этому процессу.

Примечание: Собственные диалоги не включены в этот список.


int global_menu_add_check_item(menu_root: String, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Добавляет новый отмечаемый элемент с текстом label в глобальное меню с идентификатором menu_root.

Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение index.

Дополнительно может быть определен accelerator, представляющий собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. accelerator обычно представляет собой комбинацию KeyModifierMask и Key с использованием побитового ИЛИ, например KEY_MASK_CTRL | KEY_A (Ctrl + A).

Примечание: Вызываемые объекты callback и key_callback должны принимать ровно один параметр Variant, параметр, переданный в вызываемые объекты, будет значением, переданным в tag.

Примечание: Этот метод реализован только в macOS.

Поддерживаемые идентификаторы системного меню:

"_main" - Main меню (macOS).
"_dock" - Dock popup меню (macOS).
"_apple" - Apple меню (macOS, пользовательские элементы, добавленные ранее "Services").
"_window" - Window меню (macOS, пользовательские элементы добавлены после "Bring All to Front").
"_help" - Help меню (macOS).

int global_menu_add_icon_check_item(menu_root: String, icon: Texture2D, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Добавляет новый отмечаемый элемент с текстом label и значком icon в глобальное меню с идентификатором menu_root.

Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение index.

Дополнительно может быть определен accelerator, представляющий собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. accelerator обычно представляет собой комбинацию KeyModifierMask и Key с использованием побитового ИЛИ, например KEY_MASK_CTRL | KEY_A (Ctrl + A).

Примечание: Вызываемые объекты callback и key_callback должны принимать ровно один параметр Variant, параметр, переданный в вызываемые объекты, будет значением, переданным в tag.

Примечание: Этот метод реализован только в macOS.

Поддерживаемые идентификаторы системного меню:

"_main" - Main меню (macOS).
"_dock" - Dock popup меню (macOS).
"_apple" - Apple меню (macOS, пользовательские элементы, добавленные ранее "Services").
"_window" - Window меню (macOS, пользовательские элементы добавлены после "Bring All to Front").
"_help" - Help меню (macOS).

int global_menu_add_icon_item(menu_root: String, icon: Texture2D, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Добавляет новый элемент с текстом label и значком icon в глобальное меню с идентификатором menu_root.

Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение index.

Дополнительно может быть определен accelerator, представляющий собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. accelerator обычно представляет собой комбинацию KeyModifierMask и Key с использованием побитового ИЛИ, например KEY_MASK_CTRL | KEY_A (Ctrl + A).

Примечание: Вызываемые объекты callback и key_callback должны принимать ровно один параметр Variant, параметр, переданный в вызываемые объекты, будет значением, переданным в tag.

Примечание: Этот метод реализован только в macOS.

Поддерживаемые идентификаторы системного меню:

"_main" - Main меню (macOS).
"_dock" - Dock popup меню (macOS).
"_apple" - Apple меню (macOS, пользовательские элементы, добавленные ранее "Services").
"_window" - Window меню (macOS, пользовательские элементы добавлены после "Bring All to Front").
"_help" - Help меню (macOS).

int global_menu_add_icon_radio_check_item(menu_root: String, icon: Texture2D, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Добавляет новый элемент с возможностью радио-отметки с текстом label и значком icon в глобальное меню с идентификатором menu_root.

Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение index.

Дополнительно может быть определен accelerator, представляющий собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. accelerator обычно представляет собой комбинацию KeyModifierMask и Key с использованием побитового ИЛИ, например KEY_MASK_CTRL | KEY_A (Ctrl + A).

Примечание: Элементы, которые можно отмечать радиокнопками, просто отображают галочку, но не имеют встроенного поведения проверки и должны быть отмечены/сняты вручную. См. global_menu_set_item_checked() для получения дополнительной информации о том, как им управлять.

Примечание: Вызываемые объекты callback и key_callback должны принимать ровно один параметр Variant, параметр, переданный в вызываемые объекты, будет значением, переданным в tag.

Примечание: Этот метод реализован только в macOS.

Поддерживаемые идентификаторы системных меню:

"_main" - Main меню (macOS).
"_dock" - Dock popup меню (macOS).
"_apple" - Apple меню (macOS, пользовательские элементы, добавленные ранее "Services").
"_window" - Window меню (macOS, пользовательские элементы добавлены после "Bring All to Front").
"_help" - Help меню (macOS).

int global_menu_add_item(menu_root: String, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Добавляет новый элемент с текстом label в глобальное меню с идентификатором menu_root.

Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение index.

Дополнительно может быть определен accelerator, представляющий собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. accelerator обычно представляет собой комбинацию KeyModifierMask и Key с использованием побитового ИЛИ, например KEY_MASK_CTRL | KEY_A (Ctrl + A).

Примечание: Вызываемые объекты callback и key_callback должны принимать ровно один параметр Variant, параметр, переданный в вызываемые объекты, будет значением, переданным в tag.

Примечание: Этот метод реализован только в macOS.

Поддерживаемые идентификаторы системного меню:

"_main" - Main меню (macOS).
"_dock" - Dock popup меню (macOS).
"_apple" - Apple меню (macOS, пользовательские элементы, добавленные ранее "Services").
"_window" - Window меню (macOS, пользовательские элементы добавлены после "Bring All to Front").
"_help" - Help menu (macOS).

int global_menu_add_multistate_item(menu_root: String, label: String, max_states: int, default_state: int, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Добавляет новый элемент с текстом label в глобальное меню с идентификатором menu_root.

В отличие от обычных двоичных элементов, элементы с несколькими состояниями могут иметь более двух состояний, как определено max_states. Каждое нажатие или активация элемента увеличит состояние на единицу. Значение по умолчанию определяется default_state.

Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение index.

Необязательно может быть определен accelerator, представляющий собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. accelerator обычно представляет собой комбинацию KeyModifierMask и Key с использованием побитового ИЛИ, например KEY_MASK_CTRL | KEY_A (Ctrl + A).

Примечание: По умолчанию нет указания на текущее состояние элемента, его следует изменить вручную.

Примечание: Вызываемые объекты callback и key_callback должны принимать ровно один параметр Variant, параметр, переданный в вызываемые объекты, будет значением, переданным в tag.

Примечание: Этот метод реализован только в macOS.

Поддерживаемые идентификаторы системных меню:

"_main" - Main меню (macOS).
"_dock" - Dock popup меню (macOS).
"_apple" - Apple меню (macOS, пользовательские элементы, добавленные ранее "Services").
"_window" - Window меню (macOS, пользовательские элементы добавлены после "Bring All to Front").
"_help" - Help меню (macOS).

int global_menu_add_radio_check_item(menu_root: String, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Добавляет новый радио-отмечаемый элемент с текстом label в глобальное меню с идентификатором menu_root.

Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение index.

Дополнительно может быть определен accelerator, представляющий собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. accelerator обычно представляет собой комбинацию KeyModifierMask и Key с использованием побитового ИЛИ, например KEY_MASK_CTRL | KEY_A (Ctrl + A).

Примечание: Элементы, которые можно отмечать радиокнопками, просто отображают галочку, но не имеют встроенного поведения проверки и должны быть отмечены/сняты вручную. См. global_menu_set_item_checked() для получения дополнительной информации о том, как им управлять.

Примечание: Вызываемые объекты callback и key_callback должны принимать ровно один параметр Variant, параметр, переданный в вызываемые объекты, будет значением, переданным в tag.

Примечание: Этот метод реализован только в macOS.

Поддерживаемые идентификаторы системных меню:

"_main" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
"_apple" - Apple menu (macOS, custom items added before "Services").
"_window" - Window menu (macOS, custom items added after "Bring All to Front").
"_help" - Help menu (macOS).

int global_menu_add_separator(menu_root: String, index: int = -1) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Добавляет разделитель между элементами в глобальное меню с идентификатором menu_root. Разделители также занимают индекс.

Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение index.

Примечание: Этот метод реализован только в macOS.

Поддерживаемые идентификаторы системных меню:

"_main" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
"_apple" - Apple menu (macOS, custom items added before "Services").
"_window" - Window menu (macOS, custom items added after "Bring All to Front").
"_help" - Help menu (macOS).

int global_menu_add_submenu_item(menu_root: String, label: String, submenu: String, index: int = -1) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Добавляет элемент, который будет действовать как подменю глобального меню menu_root. Аргумент submenu — это идентификатор корня глобального меню, который будет отображаться при щелчке по элементу.

Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение index.

Примечание: Этот метод реализован только в macOS.

Поддерживаемые идентификаторы системных меню:

"_main" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
"_apple" - Apple menu (macOS, custom items added before "Services").
"_window" - Window menu (macOS, custom items added after "Bring All to Front").
"_help" - Help menu (macOS).

void global_menu_clear(menu_root: String) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Удаляет все элементы из глобального меню с идентификатором menu_root.

Примечание: Этот метод реализован только в macOS.

Поддерживаемые идентификаторы системных меню:

"_main" - Main menu (macOS).
"_dock" - Dock popup menu (macOS).
"_apple" - Apple menu (macOS, custom items added before "Services").
"_window" - Window menu (macOS, custom items added after "Bring All to Front").
"_help" - Help menu (macOS).

Key global_menu_get_item_accelerator(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает ускоритель элемента по индексу idx. Ускорители — это специальные комбинации клавиш, которые активируют элемент, независимо от того, какой элемент управления находится в фокусе.

Примечание: Этот метод реализован только в macOS.


Callable global_menu_get_item_callback(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает обратный вызов элемента с индексом idx.

Примечание: Этот метод реализован только в macOS.


int global_menu_get_item_count(menu_root: String) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает количество элементов в глобальном меню с идентификатором menu_root.

Примечание: Этот метод реализован только в macOS.


Texture2D global_menu_get_item_icon(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает значок элемента с индексом idx.

Примечание: Этот метод реализован только в macOS.


int global_menu_get_item_indentation_level(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает горизонтальное смещение элемента по указанному idx.

Примечание: Этот метод реализован только в macOS.


int global_menu_get_item_index_from_tag(menu_root: String, tag: Variant) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает индекс элемента с указанным tag. Индексы автоматически назначаются каждому элементу движком и не могут быть установлены вручную.

Примечание: Этот метод реализован только в macOS.


int global_menu_get_item_index_from_text(menu_root: String, text: String) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает индекс элемента с указанным text. Индексы автоматически назначаются каждому элементу движком и не могут быть установлены вручную.

Примечание: Этот метод реализован только в macOS.


Callable global_menu_get_item_key_callback(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает обратный вызов ускорителя элемента по индексу idx.

Примечание: Этот метод реализован только в macOS.


int global_menu_get_item_max_states(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает количество состояний элемента с несколькими состояниями. Подробности см. в global_menu_add_multistate_item().

Примечание: Этот метод реализован только в macOS.


int global_menu_get_item_state(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает состояние элемента с несколькими состояниями. Подробности см. в global_menu_add_multistate_item().

Примечание: Этот метод реализован только в macOS.


String global_menu_get_item_submenu(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает идентификатор подменю элемента с индексом idx. Подробнее о том, как добавить подменю, см. в global_menu_add_submenu_item().

Примечание: Этот метод реализован только в macOS.


Variant global_menu_get_item_tag(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает метаданные указанного элемента, которые могут быть любого типа. Вы можете задать их с помощью global_menu_set_item_tag(), который обеспечивает простой способ назначения контекстных данных элементам.

Примечание: Этот метод реализован только в macOS.


String global_menu_get_item_text(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает текст элемента по индексу idx.

Примечание: Этот метод реализован только в macOS.


String global_menu_get_item_tooltip(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает подсказку, связанную с указанным индексом idx.

Примечание: Этот метод реализован только в macOS.


Dictionary global_menu_get_system_menu_roots() const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает словарь поддерживаемых идентификаторов и имен системных меню.

Примечание: Этот метод реализован только в macOS.


bool global_menu_is_item_checkable(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает true, если элемент с индексом idx можно отметить каким-либо образом, например, если у него есть флажок или переключатель.

Примечание: Этот метод реализован только в macOS.


bool global_menu_is_item_checked(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает true, если отмечен элемент с индексом idx.

Примечание: Этот метод реализован только в macOS.


bool global_menu_is_item_disabled(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает true, если элемент с индексом idx отключен. Когда он отключен, его нельзя выбрать или вызвать его действие.

См. global_menu_set_item_disabled() для получения дополнительной информации о том, как отключить элемент.

Примечание: Этот метод реализован только в macOS.


bool global_menu_is_item_hidden(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает true, если элемент с индексом idx скрыт.

См. global_menu_set_item_hidden() для получения дополнительной информации о том, как скрыть элемент.

Примечание: Этот метод реализован только в macOS.


bool global_menu_is_item_radio_checkable(menu_root: String, idx: int) const 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Возвращает true, если элемент с индексом idx имеет возможность отмечать в стиле переключателя.

Примечание: Это чисто косметическое действие; необходимо добавить логику для отметки/снятия отметки элементов в группах переключателей.

Примечание: Этот метод реализован только в macOS.


void global_menu_remove_item(menu_root: String, idx: int) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Удаляет элемент с индексом idx из глобального меню menu_root.

Примечание: Индексы элементов после удаленного элемента будут смещены на единицу.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_accelerator(menu_root: String, idx: int, keycode: Key) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает акселератор элемента с индексом idx. keycode может быть одним Key или комбинацией KeyModifierMask и Key с использованием побитового ИЛИ, например KEY_MASK_CTRL | KEY_A (Ctrl + A).

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_callback(menu_root: String, idx: int, callback: Callable) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает обратный вызов элемента с индексом idx. Обратный вызов срабатывает при нажатии элемента.

Примечание: Вызываемый callback должен принимать ровно один параметр Variant, параметр, переданный в вызываемый, будет значением, переданным параметру tag при создании элемента меню.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_checkable(menu_root: String, idx: int, checkable: bool) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает, есть ли у элемента с индексом idx флажок. Если false, задает тип элемента как обычный текст.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_checked(menu_root: String, idx: int, checked: bool) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает статус checkstate элемента с индексом idx.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_disabled(menu_root: String, idx: int, disabled: bool) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Включает/отключает элемент с индексом idx. Когда он отключен, его нельзя выбрать и его действие нельзя вызвать.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_hidden(menu_root: String, idx: int, hidden: bool) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Скрывает/показывает элемент с индексом idx. Когда он скрыт, элемент не отображается в меню и его действие не может быть вызвано.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_hover_callbacks(menu_root: String, idx: int, callback: Callable) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает обратный вызов элемента с индексом idx. Обратный вызов срабатывает при наведении на элемент.

Примечание: Вызываемый callback должен принимать ровно один параметр Variant, параметр, переданный в вызываемый, будет значением, переданным параметру tag при создании элемента меню.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_icon(menu_root: String, idx: int, icon: Texture2D) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Заменяет значок Texture2D указанного idx.

Примечание: Этот метод реализован только в macOS.

Примечание: Этот метод не поддерживается элементами меню "_dock" macOS.


void global_menu_set_item_indentation_level(menu_root: String, idx: int, level: int) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает горизонтальное смещение элемента по указанному idx.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_key_callback(menu_root: String, idx: int, key_callback: Callable) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает обратный вызов элемента с индексом idx. Обратный вызов отправляется при активации его ускорителя.

Примечание: Вызываемый объект key_callback должен принимать ровно один параметр Variant, параметр, переданный в вызываемый объект, будет значением, переданным параметру tag при создании элемента меню.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_max_states(menu_root: String, idx: int, max_states: int) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает номер состояния элемента с несколькими состояниями. Подробности см. в global_menu_add_multistate_item().

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_radio_checkable(menu_root: String, idx: int, checkable: bool) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает тип элемента с указанным индексом idx на радиокнопку. Если false, устанавливает тип элемента на обычный текст.

Примечание: Это чисто косметическое действие; необходимо добавить логику для установки/снятия отметок элементов в группах радиокнопок.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_state(menu_root: String, idx: int, state: int) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает состояние элемента с несколькими состояниями. Подробности см. в global_menu_add_multistate_item().

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_submenu(menu_root: String, idx: int, submenu: String) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает подменю элемента с индексом idx. Подменю — это идентификатор глобального корня меню, который будет показан при щелчке по элементу.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_tag(menu_root: String, idx: int, tag: Variant) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает метаданные элемента, которые могут быть любого типа. Позже вы можете получить их с помощью global_menu_get_item_tag(), который предоставляет простой способ назначения контекстных данных элементам.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_text(menu_root: String, idx: int, text: String) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает текст элемента по индексу idx.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_item_tooltip(menu_root: String, idx: int, tooltip: String) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Устанавливает подсказку String элемента по указанному индексу idx.

Примечание: Этот метод реализован только в macOS.


void global_menu_set_popup_callbacks(menu_root: String, open_callback: Callable, close_callback: Callable) 🔗

Устарело: Use NativeMenu or PopupMenu instead.

Регистрирует вызываемые объекты для испускания, когда меню собирается соответственно отобразиться или закрыться. Методы обратного вызова должны иметь "ноль" аргументов.


bool has_additional_outputs() const 🔗

Возвращает true, если какие-либо дополнительные выходы были зарегистрированы с помощью register_additional_output().


bool has_feature(feature: Feature) const 🔗

Возвращает true, если указанная feature поддерживается текущим DisplayServer, в противном случае false.


bool has_hardware_keyboard() const 🔗

Возвращает true, если подключена аппаратная клавиатура.

Примечание: Этот метод реализован на Android и iOS. На других платформах этот метод всегда возвращает true.


void help_set_search_callbacks(search_callback: Callable, action_callback: Callable) 🔗

Устанавливает собственные обратные вызовы поиска справочной системы.

search_callback имеет следующие аргументы: String search_string, int result_limit и возвращает Dictionary с парами «ключ, отображаемое имя» для результатов поиска. Вызывается, когда пользователь вводит поисковые термины в меню Справка.

action_callback имеет следующие аргументы: String key. Вызывается, когда пользователь выбирает результат поиска в меню Справка.

Примечание: Этот метод реализован только в macOS.


Vector2i ime_get_selection() const 🔗

Возвращает выделенный текст в строке композиции Редактора методов ввода, где компонент Vector2i x является позицией курсора, а y — длиной выделенного текста.

Примечание: Этот метод реализован только в macOS.


String ime_get_text() const 🔗

Возвращает строку композиции, содержащуюся в окне Редактора метода ввода.

Примечание: Этот метод реализован только в macOS.


bool is_dark_mode() const 🔗

Возвращает true, если ОС использует темный режим.

Примечание: Этот метод реализован на Android, iOS, macOS, Windows и Linux (X11/Wayland).


bool is_dark_mode_supported() const 🔗

Возвращает true, если ОС поддерживает темный режим.

Примечание: Этот метод реализован на Android, iOS, macOS, Windows и Linux (X11/Wayland).


bool is_touchscreen_available() const 🔗

Возвращает true, если доступны события касания (Android или iOS), возможность обнаружена на веб-платформе или если ProjectSettings.input_devices/pointing/emulate_touch_from_mouse имеет значение true.


bool is_window_transparency_available() const 🔗

Возвращает true, если фон окна можно сделать прозрачным. Этот метод возвращает false, если ProjectSettings.display/window/per_pixel_transparency/allowed установлен в false, или если прозрачность не поддерживается рендерером или композитором ОС.


int keyboard_get_current_layout() const 🔗

Возвращает индекс активной раскладки клавиатуры.

Примечание: Этот метод реализован в Linux (X11/Wayland), macOS и Windows.


Key keyboard_get_keycode_from_physical(keycode: Key) const 🔗

Преобразует физический (US QWERTY) keycode в один из активной раскладки клавиатуры.

Примечание: Этот метод реализован в Linux (X11/Wayland), macOS и Windows.


Key keyboard_get_label_from_physical(keycode: Key) const 🔗

Преобразует физический (US QWERTY) keycode в локализованную метку, напечатанную на клавише в активной раскладке клавиатуры.

Примечание: Этот метод реализован в Linux (X11/Wayland), macOS и Windows.


int keyboard_get_layout_count() const 🔗

Возвращает количество раскладок клавиатуры.

Примечание: Этот метод реализован в Linux (X11/Wayland), macOS и Windows.


String keyboard_get_layout_language(index: int) const 🔗

Возвращает код языка ISO-639/BCP-47 раскладки клавиатуры в позиции index.

Примечание: Этот метод реализован в Linux (X11/Wayland), macOS и Windows.


String keyboard_get_layout_name(index: int) const 🔗

Возвращает локализованное имя раскладки клавиатуры в позиции index.

Примечание: Этот метод реализован в Linux (X11/Wayland), macOS и Windows.


void keyboard_set_current_layout(index: int) 🔗

Устанавливает активную раскладку клавиатуры.

Примечание: Этот метод реализован в Linux (X11/Wayland), macOS и Windows.


BitField[MouseButtonMask] mouse_get_button_state() const 🔗

Возвращает текущее состояние кнопок мыши (нажата ли каждая кнопка) в виде битовой маски. Если одновременно нажато несколько кнопок мыши, биты суммируются. Эквивалентно Input.get_mouse_button_mask().


MouseMode mouse_get_mode() const 🔗

Возвращает текущий режим мыши. См. также mouse_set_mode().


Vector2i mouse_get_position() const 🔗

Возвращает текущее положение курсора мыши в экранных координатах.


void mouse_set_mode(mouse_mode: MouseMode) 🔗

Устанавливает текущий режим мыши. См. также mouse_get_mode().


void process_events() 🔗

Выполнить обработку оконного менеджера, включая очистку ввода. См. также force_process_and_drop_events(), Input.flush_buffered_events() и Input.use_accumulated_input.


void register_additional_output(object: Object) 🔗

Регистрирует Object, представляющий дополнительный вывод, который также будет визуализирован, помимо обычных окон. Object используется только как идентификатор, который позже может быть передан в unregister_additional_output().

Это можно использовать, чтобы запретить Godot пропускать визуализацию, когда обычные окна не видны.


int screen_get_dpi(screen: int = -1) const 🔗

Возвращает плотность точек на дюйм указанного экрана. Возвращает значение по умолчанию, зависящее от платформы, если screen недействителен.

Примечание: В качестве screen можно использовать одну из следующих констант: SCREEN_OF_MAIN_WINDOW, SCREEN_PRIMARY, SCREEN_WITH_MOUSE_FOCUS или SCREEN_WITH_KEYBOARD_FOCUS.

Примечание: В macOS возвращаемое значение неточно, если используется дробный режим масштабирования дисплея.

Примечание: На устройствах Android фактические плотности экрана сгруппированы в шесть обобщенных плотностей:

   ldpi - 120 dpi
   mdpi - 160 dpi
   hdpi - 240 dpi
  xhdpi - 320 dpi
 xxhdpi - 480 dpi
xxxhdpi - 640 dpi

Примечание: Этот метод реализован на Android, iOS, Linux (X11/Wayland), macOS, Web и Windows. На других платформах этот метод всегда возвращает 72.


Image screen_get_image(screen: int = -1) const 🔗

Возвращает снимок экрана screen. Возвращает null, если screen недействителен или DisplayServer не удалось сделать снимок экрана.

Примечание: В качестве screen можно использовать одну из следующих констант: SCREEN_OF_MAIN_WINDOW, SCREEN_PRIMARY, SCREEN_WITH_MOUSE_FOCUS или SCREEN_WITH_KEYBOARD_FOCUS.

Примечание: Этот метод реализован в Linux (X11, за исключением XWayland), macOS и Windows. На других платформах этот метод всегда возвращает null.

Примечание: В macOS этот метод требует разрешения «Запись экрана». Если разрешение не предоставлено, этот метод возвращает снимок экрана, который не будет включать другие окна приложения или элементы ОС, не связанные с приложением.


Image screen_get_image_rect(rect: Rect2i) const 🔗

Возвращает снимок экрана области экрана, определенной rect. Возвращает null, если rect находится за пределами экрана или DisplayServer не может сделать снимок экрана.

Примечание: Этот метод реализован в macOS и Windows. На других платформах этот метод всегда возвращает null.

Примечание: На macOS этот метод требует разрешения «Запись экрана». Если разрешение не предоставлено, этот метод возвращает снимок экрана, который не будет включать другие окна приложений или элементы ОС, не связанные с приложением.


float screen_get_max_scale() const 🔗

Возвращает наибольший коэффициент масштабирования среди всех экранов.

Примечание: В macOS возвращаемое значение равно 2.0, если в системе есть хотя бы один экран hiDPI (Retina), и 1.0 во всех остальных случаях.

Примечание: Этот метод реализован только в macOS.


ScreenOrientation screen_get_orientation(screen: int = -1) const 🔗

Возвращает текущую ориентацию screen. См. также screen_set_orientation(). Возвращает SCREEN_LANDSCAPE, если screen недействителен.

Примечание: В качестве screen можно использовать одну из следующих констант: SCREEN_OF_MAIN_WINDOW, SCREEN_PRIMARY, SCREEN_WITH_MOUSE_FOCUS или SCREEN_WITH_KEYBOARD_FOCUS.

Примечание: Этот метод реализован на Android и iOS. На других платформах этот метод всегда возвращает SCREEN_LANDSCAPE.


Color screen_get_pixel(position: Vector2i) const 🔗

Возвращает цвет пикселя на заданном экране position. В многомониторных конфигурациях положение на экране определяется относительно области виртуального рабочего стола.

Примечание: Этот метод реализован в Linux (X11, за исключением XWayland), macOS и Windows. На других платформах этот метод всегда возвращает Color(0, 0, 0, 1).

Примечание: В macOS для работы этого метода требуется разрешение «Запись экрана». Если разрешение не предоставлено, этот метод возвращает цвет из скриншота, который не будет включать другие окна приложений или элементы ОС, не связанные с приложением.


Vector2i screen_get_position(screen: int = -1) const 🔗

Возвращает позицию верхнего левого угла экрана в пикселях. Возвращает Vector2i.ZERO, если screen недействителен. В многомониторных конфигурациях позиция экрана относительна области виртуального рабочего стола. В многомониторных конфигурациях с разными разрешениями экрана или ориентациями начало координат может располагаться за пределами любого дисплея, например:

* (0, 0)        +-------+
                |       |
+-------------+ |       |
|             | |       |
|             | |       |
+-------------+ +-------+

См. также screen_get_size().

Примечание: В качестве screen можно использовать одну из следующих констант: SCREEN_OF_MAIN_WINDOW, SCREEN_PRIMARY, SCREEN_WITH_MOUSE_FOCUS или SCREEN_WITH_KEYBOARD_FOCUS.


float screen_get_refresh_rate(screen: int = -1) const 🔗

Возвращает текущую частоту обновления указанного экрана. При включенной V-Sync возвращает максимальную частоту кадров, которую проект может эффективно достичь. Возвращает -1.0, если screen недействителен или DisplayServer не может определить частоту обновления для указанного экрана.

Чтобы вернуться к частоте обновления по умолчанию в случае сбоя метода, попробуйте:

var refresh_rate = DisplayServer.screen_get_refresh_rate()
if refresh_rate < 0:
    refresh_rate = 60.0

Примечание: В качестве screen можно использовать одну из следующих констант: SCREEN_OF_MAIN_WINDOW, SCREEN_PRIMARY, SCREEN_WITH_MOUSE_FOCUS или SCREEN_WITH_KEYBOARD_FOCUS.

Примечание: Этот метод реализован на Android, iOS, macOS, Linux (X11 и Wayland) и Windows. На других платформах этот метод всегда возвращает -1.0.


float screen_get_scale(screen: int = -1) const 🔗

Возвращает коэффициент масштабирования указанного экрана по индексу. Возвращает 1.0, если screen недействителен.

Примечание: В качестве screen можно использовать одну из следующих констант: SCREEN_OF_MAIN_WINDOW, SCREEN_PRIMARY, SCREEN_WITH_MOUSE_FOCUS или SCREEN_WITH_KEYBOARD_FOCUS.

Примечание: В macOS возвращаемое значение равно 2.0 для экранов hiDPI (Retina) и 1.0 для всех остальных случаев.

Примечание: В Linux (Wayland) возвращаемое значение является точным только в том случае, если screen равно SCREEN_OF_MAIN_WINDOW. Из-за ограничений API передача прямого индекса вернет округленное целое число, если экран имеет дробный масштаб (например, 1.25 будет округлено до 2.0).

Примечание: Этот метод реализован на Android, iOS, Web, macOS и Linux (Wayland). На других платформах этот метод всегда возвращает 1.0.


Vector2i screen_get_size(screen: int = -1) const 🔗

Возвращает размер экрана в пикселях. См. также screen_get_position() и screen_get_usable_rect(). Возвращает Vector2i.ZERO, если screen недействителен.

Примечание: В качестве screen можно использовать одну из следующих констант: SCREEN_OF_MAIN_WINDOW, SCREEN_PRIMARY, SCREEN_WITH_MOUSE_FOCUS или SCREEN_WITH_KEYBOARD_FOCUS.


Rect2i screen_get_usable_rect(screen: int = -1) const 🔗

Возвращает часть экрана, которая не закрыта строкой состояния, в пикселях. См. также screen_get_size().

Примечание: В качестве screen можно использовать одну из следующих констант: SCREEN_OF_MAIN_WINDOW, SCREEN_PRIMARY, SCREEN_WITH_MOUSE_FOCUS или SCREEN_WITH_KEYBOARD_FOCUS.

Примечание: Этот метод реализован в Linux/X11, macOS и Windows. На других платформах этот метод всегда возвращает Rect2i(screen_get_position(screen), screen_get_size(screen)).


bool screen_is_kept_on() const 🔗

Возвращает true, если экран никогда не должен выключаться мерами энергосбережения операционной системы. См. также screen_set_keep_on().


void screen_set_keep_on(enable: bool) 🔗

Устанавливает, должен ли экран никогда не выключаться мерами энергосбережения операционной системы. См. также screen_is_kept_on().


void screen_set_orientation(orientation: ScreenOrientation, screen: int = -1) 🔗

Устанавливает orientation screen. См. также screen_get_orientation().

Примечание: В качестве screen можно использовать одну из следующих констант: SCREEN_OF_MAIN_WINDOW, SCREEN_PRIMARY, SCREEN_WITH_MOUSE_FOCUS или SCREEN_WITH_KEYBOARD_FOCUS.

Примечание: Этот метод реализован на Android и iOS.

Примечание: В iOS этот метод не действует, если ProjectSettings.display/window/handheld/orientation не установлен на SCREEN_SENSOR.


void set_hardware_keyboard_connection_change_callback(callable: Callable) 🔗

Устанавливает функцию обратного вызова, которая должна вызываться при подключении или отключении аппаратной клавиатуры. Параметр callable должен принимать один аргумент bool, указывающий, подключена ли клавиатура (true) или отключена (false).

Примечание: Этот метод реализован только на Android.


void set_icon(image: Image) 🔗

Устанавливает значок окна (обычно отображается в верхнем левом углу) с Image. Чтобы использовать значки в собственном формате операционной системы, используйте set_native_icon() вместо этого.

Примечание: Требуется поддержка FEATURE_ICON.


void set_native_icon(filename: String) 🔗

Устанавливает значок окна (обычно отображается в верхнем левом углу) в формате native операционной системы. Файл в filename должен быть в формате .ico в Windows или .icns в macOS. Используя специально созданные значки .ico или .icns, set_native_icon() позволяет указывать разные значки в зависимости от размера, в котором отображается значок. Этот размер определяется операционной системой и предпочтениями пользователя (включая коэффициент масштабирования дисплея). Чтобы использовать значки в других форматах, используйте вместо этого set_icon().

Примечание: Требуется поддержка FEATURE_NATIVE_ICON.


void set_system_theme_change_callback(callable: Callable) 🔗

Устанавливает функцию обратного вызова, которая должна вызываться при изменении настроек темы системы. callable должен принимать ноль аргументов.

Примечание: Этот метод реализован на Android, iOS, macOS, Windows и Linux (X11/Wayland).


void show_emoji_and_symbol_picker() const 🔗

Открывает системный выбор эмодзи и символов.

Примечание: Этот метод реализован в macOS и Windows.


Rect2 status_indicator_get_rect(id: int) const 🔗

Возвращает прямоугольник для заданного индикатора статуса id в экранных координатах. Если индикатор состояния не виден, возвращает пустой Rect2.

Примечание: Этот метод реализован в macOS и Windows.


void status_indicator_set_callback(id: int, callback: Callable) 🔗

Устанавливает вызов активации индикатора состояния приложения. callback должен принимать два аргумента: int индекс кнопки мыши (одно из значений MouseButton) и Vector2i позиция щелчка в координатах экрана.

Примечание: Этот метод реализован в macOS и Windows.


void status_indicator_set_icon(id: int, icon: Texture2D) 🔗

Устанавливает значок индикатора состояния приложения.

Примечание: Этот метод реализован в macOS и Windows.


void status_indicator_set_menu(id: int, menu_rid: RID) 🔗

Устанавливает собственное всплывающее меню индикатора состояния приложения.

Примечание: В macOS меню активируется любой кнопкой мыши. Его обратный вызов активации не срабатывает.

Примечание: В Windows меню активируется правой кнопкой мыши, выбором значка состояния и нажатием Shift + F10 или клавиши приложения. Обратный вызов активации меню для других кнопок мыши по-прежнему срабатывает.

Примечание: Собственное всплывающее окно поддерживается только в том случае, если NativeMenu поддерживает функцию NativeMenu.FEATURE_POPUP_MENU.


void status_indicator_set_tooltip(id: int, tooltip: String) 🔗

Устанавливает всплывающую подсказку индикатора состояния приложения.

Примечание: Этот метод реализован в macOS и Windows.


String tablet_get_current_driver() const 🔗

Возвращает имя текущего активного драйвера планшета.

Примечание: Этот метод реализован только в Windows.


int tablet_get_driver_count() const 🔗

Возвращает общее количество доступных драйверов планшета.

Примечание: Этот метод реализован только в Windows.


String tablet_get_driver_name(idx: int) const 🔗

Возвращает имя драйвера планшета для указанного индекса.

Примечание: Этот метод реализован только в Windows.


void tablet_set_current_driver(name: String) 🔗

Установите имя активного драйвера планшета.

Поддерживаемые драйверы:

  • winink: Windows Ink API, по умолчанию.

  • wintab: Wacom Wintab API (требуется совместимый драйвер устройства).

  • dummy: фиктивный драйвер, ввод с планшета отключен.

Примечание: Этот метод реализован только в Windows.


Array[Dictionary] tts_get_voices() const 🔗

Возвращает Array словарей голосовой информации.

Каждый Dictionary содержит две записи String:

  • name — голосовое имя.

  • id — голосовой идентификатор.

  • language — код языка в формате lang_Variant. Часть lang — это 2- или 3-буквенный код на основе стандарта ISO-639 в нижнем регистре. Часть Variant — это строка, зависящая от движка, описывающая страну, регион или/и диалект.

Обратите внимание, что Godot зависит от системных библиотек для функциональности преобразования текста в речь. Эти библиотеки установлены по умолчанию в Windows и macOS, но не во всех дистрибутивах Linux. Если они отсутствуют, этот метод вернет пустой список. Это касается как пользователей Godot на Linux, так и конечных пользователей на Linux, запускающих игры Godot, использующие преобразование текста в речь.

Примечание: Этот метод реализован на Android, iOS, Web, Linux (X11/Wayland), macOS и Windows.


PackedStringArray tts_get_voices_for_language(language: String) const 🔗

Возвращает PackedStringArray идентификаторов голоса для language.

Примечание: Этот метод реализован в Android, iOS, Web, Linux (X11/Wayland), macOS и Windows.


bool tts_is_paused() const 🔗

Возвращает true, если синтезатор находится в состоянии паузы.

Примечание: Этот метод реализован на Android, iOS, Web, Linux (X11/Wayland), macOS и Windows.


bool tts_is_speaking() const 🔗

Возвращает true, если синтезатор генерирует речь или имеет ожидающие в очереди высказывания.

Примечание: Этот метод реализован на Android, iOS, Web, Linux (X11/Wayland), macOS и Windows.


void tts_pause() 🔗

Переводит синтезатор в состояние паузы.

Примечание: Этот метод реализован на Android, iOS, Web, Linux (X11/Wayland), macOS и Windows.


void tts_resume() 🔗

Возобновляет работу синтезатора, если он был приостановлен.

Примечание: Этот метод реализован на Android, iOS, Web, Linux (X11/Wayland), macOS и Windows.


void tts_set_utterance_callback(event: TTSUtteranceEvent, callable: Callable) 🔗

Добавляет обратный вызов, который вызывается, когда высказывание началось, закончилось, отменено или достигло границы текста.

  • Метод вызываемого объекта TTS_UTTERANCE_STARTED, TTS_UTTERANCE_ENDED и TTS_UTTERANCE_CANCELED должен принимать один параметр int, идентификатор высказывания.

  • Метод вызываемого объекта TTS_UTTERANCE_BOUNDARY должен принимать два параметра int, индекс символа и идентификатор высказывания.

Примечание: Степень детализации обратных вызовов границы зависит от движка.

Примечание: Этот метод реализован на Android, iOS, Web, Linux (X11/Wayland), macOS и Windows.


void tts_speak(text: String, voice: String, volume: int = 50, pitch: float = 1.0, rate: float = 1.0, utterance_id: int = 0, interrupt: bool = false) 🔗

Добавляет высказывание в очередь. Если interrupt равно true, очередь очищается первой.

  • voice идентификатор - одно из значений "id", возвращаемых tts_get_voices(), или одно из значений, возвращаемых tts_get_voices_for_language().

  • volume диапазон от 0 (самый низкий) до 100 (самый высокий).

  • pitch диапазон от 0.0 (самый низкий) до 2.0 (самый высокий), 1.0 - это высота тона по умолчанию для текущего голоса.

  • rate варьируется от 0.1 (самый низкий) до 10.0 (самый высокий), 1.0 — это нормальная скорость речи. Другие значения действуют как процентное отношение.

  • utterance_id передается как параметр в функции обратного вызова.

Примечание: В Windows и Linux (X11/Wayland) высказывание text может использовать разметку SSML. Поддержка SSML зависит от движка и голоса. Если движок не поддерживает SSML, следует удалить всю разметку XML перед вызовом tts_speak().

Примечание: Детализация высоты тона, скорости и громкости зависит от движка и голоса. Значения могут быть усечены.

Примечание: Этот метод реализован на Android, iOS, Web, Linux (X11/Wayland), macOS и Windows.


void tts_stop() 🔗

Останавливает процесс синтеза и удаляет все фразы из очереди.

Примечание: Этот метод реализован на Android, iOS, Web, Linux (X11/Wayland), macOS и Windows.


void unregister_additional_output(object: Object) 🔗

Отменяет регистрацию Object, представляющего дополнительный выход, который был зарегистрирован с помощью register_additional_output().


int virtual_keyboard_get_height() const 🔗

Возвращает высоту экранной клавиатуры в пикселях. Возвращает 0, если клавиатура отсутствует или скрыта.

Примечание: На Android 7 и 8 высота клавиатуры может возвращать 0 при первом открытии клавиатуры в неиммерсивном режиме. В иммерсивном режиме такое поведение не наблюдается.


void virtual_keyboard_hide() 🔗

Скрывает виртуальную клавиатуру если она видима, иначе ничего не делает.


void virtual_keyboard_show(existing_text: String, position: Rect2 = Rect2(0, 0, 0, 0), type: VirtualKeyboardType = 0, max_length: int = -1, cursor_start: int = -1, cursor_end: int = -1) 🔗

Показывает виртуальную клавиатуру, если она есть на платформе.

Параметр existing_text полезен для реализации собственного LineEdit или TextEdit, так как он сообщает виртуальной клавиатуре, какой текст уже был набран (виртуальная клавиатура использует его для автокоррекции и подсказок).

Параметр position — это экранное пространство Rect2 редактируемого текста.

Параметр type позволяет настроить, какой тип виртуальной клавиатуры показывать.

max_length ограничивает количество символов, которые можно ввести, если они отличаются от -1.

cursor_start может опционально определять текущую позицию текстового курсора, если cursor_end не установлен.

cursor_start и cursor_end могут опционально определять текущее выделение текста.

Примечание: Этот метод реализован на Android, iOS и в Web.


void warp_mouse(position: Vector2i) 🔗

Устанавливает позицию курсора мыши в указанное position относительно начала координат в верхнем левом углу текущего окна диспетчера окон игры.

Примечание: warp_mouse() поддерживается только в Windows, macOS и Linux (X11/Wayland). Он не действует на Android, iOS и Web.


bool window_can_draw(window_id: int = 0) const 🔗

Возвращает true, если что-либо может быть нарисовано в окне, указанном window_id, false в противном случае. Использование аргумента командной строки --disable-render-loop или headless-сборки вернет false.


int window_get_active_popup() const 🔗

Возвращает ИД активного всплывающего окна, или INVALID_WINDOW_ID если такого окна нет.


int window_get_attached_instance_id(window_id: int = 0) const 🔗

Возвращает Object.get_instance_id() окна Window, к которому прикреплен window_id.


int window_get_current_screen(window_id: int = 0) const 🔗

Возвращает экран, на котором в данный момент расположено окно, указанное window_id. Если экран перекрывает несколько дисплеев, возвращается экран, на котором находится центр окна. См. также window_set_current_screen(). Возвращает INVALID_SCREEN, если window_id недействителен.

Примечание: Этот метод реализован в Linux/X11, macOS и Windows. На других платформах этот метод всегда возвращает 0.


bool window_get_flag(flag: WindowFlags, window_id: int = 0) const 🔗

Возвращает текущее значение flag указанного окна.


Vector2i window_get_max_size(window_id: int = 0) const 🔗

Возвращает максимальный размер окна (в пикселях). См. также window_set_max_size().


Vector2i window_get_min_size(window_id: int = 0) const 🔗

Возвращает минимальный размер окна (в пикселях). См. также window_set_min_size().


WindowMode window_get_mode(window_id: int = 0) const 🔗

Возвращает режим указанного окна.


int window_get_native_handle(handle_type: HandleType, window_id: int = 0) const 🔗

Возвращает указатели внутренней структуры для использования в плагинах.

Примечание: Этот метод реализован в Android, Linux (X11/Wayland), macOS и Windows.


Rect2i window_get_popup_safe_rect(window: int) const 🔗

Возвращает ограничивающую рамку элемента управления или пункта меню, который использовался для открытия всплывающего окна, в системе координат экрана.


Vector2i window_get_position(window_id: int = 0) const 🔗

Возвращает положение клиентской области указанного окна на экране.


Vector2i window_get_position_with_decorations(window_id: int = 0) const 🔗

Возвращает позицию указанного окна на экране, включая границы, нарисованные операционной системой. См. также window_get_position().


Vector3i window_get_safe_title_margins(window_id: int = 0) const 🔗

Возвращает левые поля (x), правые поля (y) и высоту (z) заголовка, которые можно безопасно использовать (не содержат кнопок или других элементов), если установлен флаг WINDOW_FLAG_EXTEND_TO_TITLE.


Vector2i window_get_size(window_id: int = 0) const 🔗

Возвращает размер окна, указанного window_id (в пикселях), исключая границы, нарисованные операционной системой. Это также называется "клиентской областью". См. также window_get_size_with_decorations(), window_set_size() и window_get_position().


Vector2i window_get_size_with_decorations(window_id: int = 0) const 🔗

Возвращает размер окна, указанного window_id (в пикселях), включая границы, нарисованные операционной системой. См. также window_get_size().


Vector2i window_get_title_size(title: String, window_id: int = 0) const 🔗

Возвращает предполагаемый размер заголовка окна (включая текст и кнопки окна) для окна, указанного window_id (в пикселях). Этот метод не изменяет заголовок окна.

Примечание: Этот метод реализован в macOS и Windows.


VSyncMode window_get_vsync_mode(window_id: int = 0) const 🔗

Возвращает режим вертикальной синхронизации (V-Sync) указанного окна.


bool window_is_focused(window_id: int = 0) const 🔗

Возвращает true, если окно, указанное window_id, находится в фокусе.


bool window_is_maximize_allowed(window_id: int = 0) const 🔗

Возвращает true, если заданное окно можно развернуть (если кнопка разворота включена).


bool window_maximize_on_title_dbl_click() const 🔗

Возвращает true, если двойной щелчок по заголовку окна должен развернуть его на весь экран.

Примечание: Этот метод реализован только в macOS.


bool window_minimize_on_title_dbl_click() const 🔗

Возвращает true, если двойной щелчок по заголовку окна должен его свернуть.

Примечание: Этот метод реализован только в macOS.


void window_move_to_foreground(window_id: int = 0) 🔗

Перемещает окно, указанное параметром window_id, на передний план, чтобы оно было видно поверх других окон.


void window_request_attention(window_id: int = 0) 🔗

Заставляет окно, указанное window_id, запрашивать внимание, что материализуется заголовком окна и записью на панели задач, мигающими до тех пор, пока окно не будет сфокусировано. Обычно это не имеет видимого эффекта, если окно в данный момент сфокусировано. Точное поведение зависит от операционной системы.


void window_set_color(color: Color) 🔗

Устанавливает цвет фона корневого окна.

Примечание: Этот метод реализован только на Android.


void window_set_current_screen(screen: int, window_id: int = 0) 🔗

Перемещает окно, указанное window_id, на указанный screen. См. также window_get_current_screen().

Примечание: В качестве screen можно использовать одну из следующих констант: SCREEN_OF_MAIN_WINDOW, SCREEN_PRIMARY, SCREEN_WITH_MOUSE_FOCUS или SCREEN_WITH_KEYBOARD_FOCUS.

Примечание: Этот метод реализован в Linux/X11, macOS и Windows.


void window_set_drop_files_callback(callback: Callable, window_id: int = 0) 🔗

Устанавливает callback, который должен вызываться при перемещении файлов из файлового менеджера операционной системы в окно, указанное window_id. callback должен принимать один аргумент PackedStringArray, который является списком перемещенных файлов.

Предупреждение: Только для опытных пользователей! Добавление такого обратного вызова в узел Window переопределит его реализацию по умолчанию, что может привести к ошибкам.

Примечание: Этот метод реализован в Windows, macOS, Linux (X11/Wayland) и Web.


void window_set_exclusive(window_id: int, exclusive: bool) 🔗

Если установлено значение true, это окно всегда будет оставаться поверх своего родительского окна, родительское окно будет игнорировать ввод, пока это окно открыто.

Примечание: В macOS исключительные окна ограничены тем же пространством (виртуальным рабочим столом или экраном), что и родительское окно.

Примечание: Этот метод реализован в macOS и Windows.


void window_set_flag(flag: WindowFlags, enabled: bool, window_id: int = 0) 🔗

Включает или отключает указанный flag указанного окна.


void window_set_ime_active(active: bool, window_id: int = 0) 🔗

Устанавливает, следует ли включать Редактор методов ввода для окна, указанного window_id. См. также window_set_ime_position().


void window_set_ime_position(position: Vector2i, window_id: int = 0) 🔗

Устанавливает положение всплывающего окна Редактора методов ввода для указанного window_id. Действует только в том случае, если window_set_ime_active() был установлен на true для указанного window_id.


void window_set_input_event_callback(callback: Callable, window_id: int = 0) 🔗

Устанавливает callback, который должен быть вызван, когда любой InputEvent отправляется в окно, указанное window_id.

Предупреждение: Только для опытных пользователей! Добавление такого callback к узлу Window переопределит его реализацию по умолчанию, что может привести к ошибкам.


void window_set_input_text_callback(callback: Callable, window_id: int = 0) 🔗

Устанавливает callback, который должен быть вызван при вводе текста с помощью виртуальной клавиатуры в окно, указанное window_id.

Предупреждение: Только для опытных пользователей! Добавление такого callback к узлу Window переопределит его реализацию по умолчанию, что может привести к ошибкам.


void window_set_max_size(max_size: Vector2i, window_id: int = 0) 🔗

Устанавливает максимальный размер окна, заданный window_id в пикселях. Обычно пользователь не сможет перетащить окно, чтобы сделать его больше указанного размера. См. также window_get_max_size().

Примечание: Рекомендуется изменить это значение с помощью Window.max_size.

Примечание: Используя сторонние инструменты, пользователи могут отключить ограничения геометрии окна и, таким образом, обойти это ограничение.


void window_set_min_size(min_size: Vector2i, window_id: int = 0) 🔗

Устанавливает минимальный размер для данного окна на min_size в пикселях. Обычно пользователь не сможет перетащить окно, чтобы сделать его меньше указанного размера. См. также window_get_min_size().

Примечание: Рекомендуется изменить это значение, используя Window.min_size.

Примечание: По умолчанию минимальное значение главного окна составляет Vector2i(64, 64). Это предотвращает проблемы, которые могут возникнуть при изменении размера окна до почти нулевого размера.

Примечание: Используя сторонние инструменты, пользователи могут отключить ограничения геометрии окна и, таким образом, обойти это ограничение.


void window_set_mode(mode: WindowMode, window_id: int = 0) 🔗

Устанавливает режим окна для указанного окна на mode.

Примечание: На Android установка его на WINDOW_MODE_FULLSCREEN или WINDOW_MODE_EXCLUSIVE_FULLSCREEN включит режим погружения.

Примечание: Установка окна на весь экран принудительно устанавливает флаг borderless на true, поэтому обязательно установите его обратно на false, когда он не нужен.


void window_set_mouse_passthrough(region: PackedVector2Array, window_id: int = 0) 🔗

Устанавливает многоугольную область окна, которая принимает события мыши. События мыши за пределами области будут переданы.

Передача пустого массива отключит поддержку сквозной передачи (все события мыши будут перехвачены окном, что является поведением по умолчанию).

# Задайте регион, используя узел Path2D.
DisplayServer.window_set_mouse_passthrough($Path2D.curve.get_baked_points())

# Задайте регион, используя узел Polygon2D.
DisplayServer.window_set_mouse_passthrough($Polygon2D.polygon)

# Сбросить регион до значений по умолчанию.
DisplayServer.window_set_mouse_passthrough([])

Примечание: В Windows часть окна, которая находится за пределами области, не отрисовывается, тогда как в Linux (X11) и macOS — отрисовывается.

Примечание: Этот метод реализован в Linux (X11), macOS и Windows.


void window_set_popup_safe_rect(window: int, rect: Rect2i) 🔗

Устанавливает ограничивающую рамку элемента управления или пункта меню, который использовался для открытия всплывающего окна, в системе координат экрана. Щелчок по этой области не закроет автоматически это всплывающее окно.


void window_set_position(position: Vector2i, window_id: int = 0) 🔗

Устанавливает позицию указанного окна на position. В многомониторных установках позиция экрана относительна области виртуального рабочего стола. В многомониторных установках с различными разрешениями экрана или ориентациями начало координат может располагаться за пределами любого дисплея, например:

* (0, 0)        +-------+
                |       |
+-------------+ |       |
|             | |       |
|             | |       |
+-------------+ +-------+

См. также window_get_position() и window_set_size().

Примечание: Рекомендуется изменить это значение, используя Window.position.

Примечание: В Linux (Wayland): этот метод не является операцией.


void window_set_rect_changed_callback(callback: Callable, window_id: int = 0) 🔗

Устанавливает callback, который будет вызван при перемещении или изменении размера окна, указанного window_id.

Внимание: Только для опытных пользователей! Добавление такого callback к узлу Window переопределит его реализацию по умолчанию, что может привести к ошибкам.


void window_set_size(size: Vector2i, window_id: int = 0) 🔗

Устанавливает размер указанного окна на size (в пикселях). См. также window_get_size() и window_get_position().

Примечание: Рекомендуется изменить это значение, используя Window.size.


void window_set_title(title: String, window_id: int = 0) 🔗

Устанавливает тутул данного окна title.

Примечание: Рекомендуется менять это значение через Window.title

Примечание: Избегайте изменения титула каждый кадр, так как это может негативно сказаться на производительность некоторых менеджеров окон. Постарайтесь менять титул окна не более несколько раз в секунду.


void window_set_transient(window_id: int, parent_window_id: int) 🔗

Устанавливает окно как переходного родителя. Переходное окно будет уничтожено вместе со своим переходным родителем и вернет фокус к своему родителю при закрытии. Переходное окно отображается поверх неисключительного полноэкранного родительского окна. Переходные окна не могут переходить в полноэкранный режим.

Примечание: Рекомендуется изменить это значение, используя Window.transient.

Примечание: Поведение может отличаться в зависимости от платформы.


void window_set_vsync_mode(vsync_mode: VSyncMode, window_id: int = 0) 🔗

Устанавливает режим V-Sync для указанного окна. См. также ProjectSettings.display/window/vsync/vsync_mode.

В зависимости от платформы и используемого рендерера движок вернется к VSYNC_ENABLED, если нужный режим не поддерживается.

Примечание: Режимы V-Sync, отличные от VSYNC_ENABLED, поддерживаются только в методах рендеринга Forward+ и Mobile, но не Compatibility.


void window_set_window_buttons_offset(offset: Vector2i, window_id: int = 0) 🔗

Если установлен флаг WINDOW_FLAG_EXTEND_TO_TITLE, установите смещение по центру первой кнопки заголовка.

Примечание: Этот флаг реализован только в macOS.


void window_set_window_event_callback(callback: Callable, window_id: int = 0) 🔗

Устанавливает callback, который будет вызван при возникновении события в окне, указанном window_id.

Предупреждение: Только для опытных пользователей! Добавление такого callback к узлу Window переопределит его реализацию по умолчанию, что может привести к ошибкам.


void window_start_drag(window_id: int = 0) 🔗

Начинает интерактивную операцию перетаскивания в окне с заданным window_id, используя текущую позицию мыши. Вызывайте этот метод при обработке нажатия кнопки мыши для имитации события нажатия в заголовке окна. Использование этого метода позволяет окну участвовать в переключении пространства, мозаичном размещении и других системных функциях.

Примечание: Этот метод реализован в Linux (X11/Wayland), macOS и Windows.


void window_start_resize(edge: WindowResizeEdge, window_id: int = 0) 🔗

Запускает интерактивную операцию изменения размера окна с заданным window_id, используя текущую позицию мыши. Вызывайте этот метод при обработке нажатия кнопки мыши для имитации события нажатия на краю окна.

Примечание: Этот метод реализован в Linux (X11/Wayland), macOS и Windows.