reckfellENGINE

Window

Viewport окна с собственным интерфейсом и событиями.

На этой странице
class WindowReckfellSharpНаследует Viewport

Window представляет главное или дочернее окно. Дочерние окна могут быть встроенными в родительский viewport или нативными; поддержка зависит от backend и настроек проекта. AcceptDialog и ConfirmationDialog наследуют Window.

Для несохранённого документа перехватите CloseRequested и настройте EntityTree.AutoAcceptQuit. Завершайте процесс только после успешного сохранения либо явного отказа от изменений. Сохранённые Position/Size проверяйте против актуальной доступной области экрана; координаты встроенных окон относятся к родительскому viewport.

Рабочий пример.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

WindowКонструктор
# Window
C#
public Window();

Свойства42

AccessibilityDescriptionСвойство
# AccessibilityDescription
C#
public string AccessibilityDescription { get; set; }

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

AccessibilityNameСвойство
# AccessibilityName
C#
public string AccessibilityName { get; set; }

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

AlwaysOnTopСвойство
# AlwaysOnTop
C#
public bool AlwaysOnTop { get; set; }

Если true, окно будет поверх всех других окон. Не работает, если включен Window.Transient.

AutoTranslateСвойство · Устарело
# AutoTranslate
C#
public bool AutoTranslate { get; set; }

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

BorderlessСвойство
# Borderless
C#
public bool Borderless { get; set; }

Если true, окно не будет иметь границ.

ContentScaleAspectСвойство
# ContentScaleAspect
C#
public Window.ContentScaleAspectEnum ContentScaleAspect { get; set; }

Политика пропорций при масштабировании. Keep сохраняет базовую область с полосами при необходимости; Expand открывает дополнительную логическую область; Ignore допускает неравномерное растяжение. Не расставляет элементы UI автоматически.

ContentScaleFactorСвойство
# ContentScaleFactor
C#
public float ContentScaleFactor { get; set; }

Множитель масштаба всего содержимого, а не только шрифта. В проверенном CanvasItems увеличение 1 → 2 уменьшает логическую видимую область вдвое по каждой оси. В режиме Viewport также влияет на внутренний размер отрисовки; проверяйте компоновку и качество отдельно.

ContentScaleModeСвойство
# ContentScaleMode
C#
public Window.ContentScaleModeEnum ContentScaleMode { get; set; }

Режим масштабирования содержимого окна. CanvasItems масштабирует логическое 2D и рисует в подогнанном размере окна; Viewport рисует в базовом разрешении и затем масштабирует изображение. Не тождественен отдельному масштабу 3D.

ContentScaleSizeСвойство
# ContentScaleSize
C#
public Vector2I ContentScaleSize { get; set; }

Базовый размер дизайна для масштабирования окна. Не переключает разрешение монитора и не равен обязательно Size окна или размеру render target. Итоговая логическая область зависит от режима, политики пропорций и ContentScaleFactor.

ContentScaleStretchСвойство
# ContentScaleStretch
C#
public Window.ContentScaleStretchEnum ContentScaleStretch { get; set; }

Политика, используемая для определения окончательного масштабного коэффициента для 2D-элементов. Это влияет на то, как применяется Window.ContentScaleFactor, в дополнение к автоматическому масштабному коэффициенту, определяемому Window.ContentScaleSize.

CurrentScreenСвойство
# CurrentScreen
C#
public int CurrentScreen { get; set; }

Экран, на котором в данный момент находится окно.

ExcludeFromCaptureСвойство
# ExcludeFromCapture
C#
public bool ExcludeFromCapture { get; set; }

Если true, Window исключается из снимков экрана, сделанных с помощью DisplayServer.ScreenGetImage, DisplayServer.ScreenGetImageRect и DisplayServer.ScreenGetPixel. Примечание: Это свойство реализовано в macOS и Windows. Примечание: Включение этого параметра предотвратит захват изображения окна стандартными методами создания снимков экрана, но НЕ гарантирует, что другие приложения не смогут сделать снимок. Это не следует использовать в качестве DRM или меры безопасности.

ExclusiveСвойство
# Exclusive
C#
public bool Exclusive { get; set; }

Если true, Window будет в монопольном режиме. Монопольный режим всегда находится поверх родительского окна и блокирует весь ввод, идущий в родительское Window. Для работы необходимо включить Window.Transient.

ExtendToTitleСвойство
# ExtendToTitle
C#
public bool ExtendToTitle { get; set; }

Если true, содержимое Window расширяется до полного размера окна, строка заголовка окна становится прозрачной. Примечание: Это свойство реализовано только в macOS. ** Примечание:** Это свойство работает только в Windows.

ForceNativeСвойство
# ForceNative
C#
public bool ForceNative { get; set; }

Если true, будет использоваться собственное окно независимо от родительского окна просмотра и настроек проекта.

FullscreenShortcutEnabledСвойство
# FullscreenShortcutEnabled
C#
public bool FullscreenShortcutEnabled { get; set; }

Если true, позволяет пользователю переключать режим полного экрана, нажав на короткий путь, определенный в ProjectSettings.input/ui_toggle_fullscreen ([kbd]Alt + Enter[/kbd] по умолчанию. Это вводится на главном окне в соответствии с ProjectSettings.display/window/size/enable_toggle_fullscreen_shortcut разработка проекта.

HdrOutputRequestedСвойство
# HdrOutputRequested
C#
public bool HdrOutputRequested { get; set; }

Если true, запрашивает вывод HDR для Window, с откатом к SDR, если не поддерживается, и автоматически переключается между HDR и SDR при перемещении окна между экранами, изменении возможностей экрана или изменении системных настроек. Это внутренне принудительно включает Viewport.UseHdr2D на основном Viewport. Все остальные SubViewport этого Window должны иметь включённое свойство Viewport.UseHdr2D для вывода HDR.

InitialPositionСвойство
# InitialPosition
C#
public Window.WindowInitialPosition InitialPosition { get; set; }

Указывает начальный тип положения для Window.

KeepTitleVisibleСвойство
# KeepTitleVisible
C#
public bool KeepTitleVisible { get; set; }

Если true, ширина Window увеличивается, чтобы текст заголовка был полностью виден.

MaxSizeСвойство
# MaxSize
C#
public Vector2I MaxSize { get; set; }

Если не равно нулю, Window не может быть изменено, чтобы стать больше этого размера. Примечание: Это свойство будет игнорироваться, если значение меньше, чем Window.MinSize.

MaximizeDisabledСвойство
# MaximizeDisabled
C#
public bool MaximizeDisabled { get; set; }

Если true, Window"Максимальная кнопка отключена". Примечание: Если и минимизировать, и максимально увеличить кнопки отключены, кнопки полностью скрыты, и видима только кнопка закрытия. Примечание: Это свойство реализуется на Linux (X11), acOS и Windows.

MinSizeСвойство
# MinSize
C#
public Vector2I MinSize { get; set; }

Если не равно нулю, Window нельзя изменить, чтобы он стал меньше этого размера. Примечание: Это свойство будет игнорироваться в пользу Window.GetContentsMinimumSize, если Window.WrapControls включен и его размер больше.

MinimizeDisabledСвойство
# MinimizeDisabled
C#
public bool MinimizeDisabled { get; set; }

Если true, WindowКнопка минимизация отключена. Примечание: Если и минимизировать, и максимально увеличить кнопки отключены, кнопки полностью скрыты, и видима только кнопка закрытия. Примечание: Это свойство реализуется на Linux (X11), acOS и Windows.

ModeСвойство
# Mode
C#
public Window.ModeEnum Mode { get; set; }

Устанавливает текущий режим окна. Примечание: Полноэкранный режим не является исключительным полноэкранным режимом в Windows и Linux. Примечание: Этот метод работает только с собственными окнами, т. е. главным окном и производными от Window узлами, когда Viewport.GuiEmbedSubwindows отключен в главном окне просмотра.

MousePassthroughСвойство
# MousePassthrough
C#
public bool MousePassthrough { get; set; }

Если true, все события, связанные с мышью, будут передаваться в основное окно того же приложения. Смотрите также Window.MousePassthroughPolygon. Примечание: Это свойство реализовано в Linux (X11), macOS и Windows. ** Примечание:** Это свойство работает только в операционной системе Windows.

MousePassthroughPolygonСвойство
# MousePassthroughPolygon
C#
public Vector2[] MousePassthroughPolygon { get; set; }

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

C#
// Set region, using Path2D node.
GetEntity<Window>("Window").MousePassthroughPolygon = GetEntity<Path2D>("Path2D").Curve.GetBakedPoints();

// Set region, using Polygon2D node.
GetEntity<Window>("Window").MousePassthroughPolygon = GetEntity<Polygon2D>("Polygon2D").Polygon;

// Reset region to default.
GetEntity<Window>("Window").MousePassthroughPolygon = [];

Примечание: Это свойство игнорируется, если Window.MousePassthrough установлен в true. Примечание: В Windows часть окна, которая находится за пределами области, не отрисовывается, тогда как в Linux (X11) и macOS — отрисовывается. Примечание: Это свойство реализовано в Linux (X11), macOS и Windows.

NonclientAreaСвойство
# NonclientArea
C#
public Rect2I NonclientArea { get; set; }

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

PopupWMHintСвойство
# PopupWMHint
C#
public bool PopupWMHint { get; set; }

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

PopupWindowСвойство
# PopupWindow
C#
public bool PopupWindow { get; set; }

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

PositionСвойство
# Position
C#
public Vector2I Position { get; set; }

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

SharpCornersСвойство
# SharpCorners
C#
public bool SharpCorners { get; set; }

Если true, Window переключит OS стиль окна для отображения острых углов. Примечание: Это устройство используется только на Windows (11). Примечание: Это свойство работает только с местными окнами.

SizeСвойство
# Size
C#
public Vector2I Size { get; set; }

Размер окна в пикселях. См. также Window.ContentScaleSize, который не задает физический размер окна, но влияет на то, как работает масштабирование относительно текущего Window.ContentScaleMode.

Тема

ThemeСвойство
# Theme
C#
public Theme Theme { get; set; }

Ресурс Theme, который использует этот узел и все его дочерние элементы Control и Window. Если дочерний узел имеет свой собственный набор ресурсов Theme, элементы темы объединяются с определениями дочернего элемента, имеющими более высокий приоритет. Примечание: Стили Window не будут иметь никакого эффекта, если окно не встроено.

ThemeTypeVariationСвойство
# ThemeTypeVariation
C#
public StringName ThemeTypeVariation { get; set; }

Имя вариации типа темы, используемой этим Window для поиска собственных элементов темы. См. Control.ThemeTypeVariation для получения более подробной информации.

TitleСвойство
# Title
C#
public string Title { get; set; }

Название окна. Window является родным, стиль титулов установлен в Theme Если пусто, в некоторых диалогах может использоваться название по умолчанию.

TransientСвойство
# Transient
C#
public bool Transient { get; set; }

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

TransientToFocusedСвойство
# TransientToFocused
C#
public bool TransientToFocused { get; set; }

Если true, а Window — Window.Transient, это окно (в момент, когда становится видимым) станет переходным к текущему окну, находящемуся в фокусе, а не к непосредственному родительскому окну в иерархии. Обратите внимание, что переходный родитель назначается в момент, когда это окно становится видимым, поэтому его последующее изменение не оказывает никакого эффекта, пока не будет показано снова.

TransparentСвойство
# Transparent
C#
public bool Transparent { get; set; }

Если true, фон Window может быть прозрачным. Лучше всего использовать это со встроенными окнами. Примечание: Поддержка прозрачности реализована в Linux, macOS и Windows, но доступность может зависеть от драйвера графического процессора, диспетчера отображения и возможностей композитора. Примечание: Это свойство не имеет эффекта, если ProjectSettings.display/window/per_pixel_transparency/allowed установлено в false.

UnfocusableСвойство
# Unfocusable
C#
public bool Unfocusable { get; set; }

Если true, Window не может быть сфокусирован и с ним нельзя взаимодействовать. Он все еще может быть видимым.

UnresizableСвойство
# Unresizable
C#
public bool Unresizable { get; set; }

Если true, размер окна изменить нельзя.

VisibleСвойство
# Visible
C#
public bool Visible { get; set; }

Если true, окно видимо.

WrapControlsСвойство
# WrapControls
C#
public bool WrapControls { get; set; }

Если true, размер окна будет автоматически обновляться при добавлении или удалении дочернего узла, игнорируя Window.MinSize, если новый размер больше. Если false, то вам необходимо вручную вызвать Window.ChildControlsChanged.

Методы142

AddThemeColorOverridevoid
# AddThemeColorOverride
C#
public void AddThemeColorOverride(StringName name, Color color);

Создает локальное переопределение для темы Color с указанным name. Локальные переопределения всегда имеют приоритет при извлечении элементов темы для элемента управления. Переопределение можно удалить с помощью Window.RemoveThemeColorOverride. См. также Window.GetThemeColor и Control.AddThemeColorOverride для получения дополнительных сведений.

Параметры
ИмяТипПо умолчанию
nameStringName—
colorColor—
AddThemeConstantOverridevoid
# AddThemeConstantOverride
C#
public void AddThemeConstantOverride(StringName name, int constant);

Создает локальное переопределение для константы темы с указанным name. Локальные переопределения всегда имеют приоритет при извлечении элементов темы для элемента управления. Переопределение можно удалить с помощью Window.RemoveThemeConstantOverride. См. также Window.GetThemeConstant.

Параметры
ИмяТипПо умолчанию
nameStringName—
constantint—
AddThemeFontOverridevoid
# AddThemeFontOverride
C#
public void AddThemeFontOverride(StringName name, Font font);

Создает локальное переопределение для темы Font с указанным name. Локальные переопределения всегда имеют приоритет при извлечении элементов темы для элемента управления. Переопределение можно удалить с помощью Window.RemoveThemeFontOverride. См. также Window.GetThemeFont.

Параметры
ИмяТипПо умолчанию
nameStringName—
fontFont—
AddThemeFontSizeOverridevoid
# AddThemeFontSizeOverride
C#
public void AddThemeFontSizeOverride(StringName name, int fontSize);

Создает локальное переопределение для размера шрифта темы с указанным name. Локальные переопределения всегда имеют приоритет при извлечении элементов темы для элемента управления. Переопределение можно удалить с помощью Window.RemoveThemeFontSizeOverride. См. также Window.GetThemeFontSize.

Параметры
ИмяТипПо умолчанию
nameStringName—
fontSizeint—
AddThemeIconOverridevoid
# AddThemeIconOverride
C#
public void AddThemeIconOverride(StringName name, Texture2D texture);

Создает локальное переопределение для значка темы с указанным name. Локальные переопределения всегда имеют приоритет при извлечении элементов темы для элемента управления. Переопределение можно удалить с помощью Window.RemoveThemeIconOverride. См. также Window.GetThemeIcon.

Параметры
ИмяТипПо умолчанию
nameStringName—
textureTexture2D—
AddThemeSoundOverridevoid
# AddThemeSoundOverride
C#
public void AddThemeSoundOverride(StringName name, AudioStream sound);

Создать локальное переключение для темы звука с указанным name. Местные перестановки всегда имеют преимущественную силу при загрузке тематических элементов для контроля. Window.RemoveThemeSoundOverride. См. также Window.GetThemeSound.

Параметры
ИмяТипПо умолчанию
nameStringName—
soundAudioStream—
AddThemeStyleboxOverridevoid
# AddThemeStyleboxOverride
C#
public void AddThemeStyleboxOverride(StringName name, StyleBox stylebox);

Создает локальное переопределение для темы StyleBox с указанным name. Локальные переопределения всегда имеют приоритет при извлечении элементов темы для элемента управления. Переопределение можно удалить с помощью Window.RemoveThemeStyleboxOverride. См. также Window.GetThemeStylebox и Control.AddThemeStyleboxOverride для получения дополнительных сведений.

Параметры
ИмяТипПо умолчанию
nameStringName—
styleboxStyleBox—
BeginBulkThemeOverridevoid
# BeginBulkThemeOverride
C#
public void BeginBulkThemeOverride();

Запрещает методам *_theme_*_override выдавать Window.NotificationThemeChanged до тех пор, пока не будет вызван Window.EndBulkThemeOverride.

CanDrawbool
# CanDraw
C#
public bool CanDraw();

Возвращает, отображается ли окно на экране.

Возвращает bool
ChildControlsChangedvoid
# ChildControlsChanged
C#
public void ChildControlsChanged();

Запрашивает обновление размера Window для соответствия базовым узлам Control.

EndBulkThemeOverridevoid
# EndBulkThemeOverride
C#
public void EndBulkThemeOverride();

Завершает массовое обновление переопределения темы. См. Window.BeginBulkThemeOverride.

GetAccessibilityDescriptionstring
# GetAccessibilityDescription
C#
public string GetAccessibilityDescription();
Возвращает string
GetAccessibilityNamestring
# GetAccessibilityName
C#
public string GetAccessibilityName();
Возвращает string
GetContentScaleAspectWindow.ContentScaleAspectEnum
# GetContentScaleAspect
C#
public Window.ContentScaleAspectEnum GetContentScaleAspect();

Возвращает запрошенное значение ContentScaleAspect. Политика пропорций при масштабировании. Keep сохраняет базовую область с полосами при необходимости; Expand открывает дополнительную логическую область; Ignore допускает неравномерное растяжение. Не расставляет элементы UI автоматически.

Возвращает Window.ContentScaleAspectEnum

Значение свойства ContentScaleAspect; учитывайте описанное различие между настройкой и фактическим результатом.

GetContentScaleFactorfloat
# GetContentScaleFactor
C#
public float GetContentScaleFactor();

Возвращает запрошенное значение ContentScaleFactor. Множитель масштаба всего содержимого, а не только шрифта. В проверенном CanvasItems увеличение 1 → 2 уменьшает логическую видимую область вдвое по каждой оси. В режиме Viewport также влияет на внутренний размер отрисовки; проверяйте компоновку и качество отдельно.

Возвращает float

Значение свойства ContentScaleFactor; учитывайте описанное различие между настройкой и фактическим результатом.

GetContentScaleModeWindow.ContentScaleModeEnum
# GetContentScaleMode
C#
public Window.ContentScaleModeEnum GetContentScaleMode();

Возвращает запрошенное значение ContentScaleMode. Режим масштабирования содержимого окна. CanvasItems масштабирует логическое 2D и рисует в подогнанном размере окна; Viewport рисует в базовом разрешении и затем масштабирует изображение. Не тождественен отдельному масштабу 3D.

Возвращает Window.ContentScaleModeEnum

Значение свойства ContentScaleMode; учитывайте описанное различие между настройкой и фактическим результатом.

GetContentScaleSizeVector2I
# GetContentScaleSize
C#
public Vector2I GetContentScaleSize();

Возвращает запрошенное значение ContentScaleSize. Базовый размер дизайна для масштабирования окна. Не переключает разрешение монитора и не равен обязательно Size окна или размеру render target. Итоговая логическая область зависит от режима, политики пропорций и ContentScaleFactor.

Возвращает Vector2I

Значение свойства ContentScaleSize; учитывайте описанное различие между настройкой и фактическим результатом.

GetContentScaleStretchWindow.ContentScaleStretchEnum
# GetContentScaleStretch
C#
public Window.ContentScaleStretchEnum GetContentScaleStretch();
Возвращает Window.ContentScaleStretchEnum
GetContentsMinimumSizeVector2
# GetContentsMinimumSize
C#
public Vector2 GetContentsMinimumSize();

Виртуальный метод, реализуемый пользователем. Переопределяет значение, возвращаемое Window.GetContentsMinimumSize.

Возвращает Vector2
GetCurrentScreenint
# GetCurrentScreen
C#
public int GetCurrentScreen();
Возвращает int
GetFlagbool
# GetFlag
C#
public bool GetFlag(Window.Flags flag);

Возвращает true, если установлен flag.

Параметры
ИмяТипПо умолчанию
flagWindow.Flags—
Возвращает bool
GetFocusedWindowWindow
# GetFocusedWindow
C#
public static Window GetFocusedWindow();

Возвращает фокусированное окно.

Возвращает Window
GetForceNativebool
# GetForceNative
C#
public bool GetForceNative();
Возвращает bool
GetInitialPositionWindow.WindowInitialPosition
# GetInitialPosition
C#
public Window.WindowInitialPosition GetInitialPosition();
Возвращает Window.WindowInitialPosition
GetKeepTitleVisiblebool
# GetKeepTitleVisible
C#
public bool GetKeepTitleVisible();
Возвращает bool
GetLayoutDirectionWindow.LayoutDirection
# GetLayoutDirection
C#
public Window.LayoutDirection GetLayoutDirection();

Возвращает направление макета и направление написания текста.

Возвращает Window.LayoutDirection
GetMaxSizeVector2I
# GetMaxSize
C#
public Vector2I GetMaxSize();
Возвращает Vector2I
GetMinSizeVector2I
# GetMinSize
C#
public Vector2I GetMinSize();
Возвращает Vector2I
GetModeWindow.ModeEnum
# GetMode
C#
public Window.ModeEnum GetMode();
Возвращает Window.ModeEnum
GetMousePassthroughPolygonVector2[]
# GetMousePassthroughPolygon
C#
public Vector2[] GetMousePassthroughPolygon();
Возвращает Vector2[]
GetNonclientAreaRect2I
# GetNonclientArea
C#
public Rect2I GetNonclientArea();
Возвращает Rect2I
GetOutputMaxLinearValuefloat
# GetOutputMaxLinearValue
C#
public float GetOutputMaxLinearValue();

Возвращает максимальное значение для линейных компонентов цвета, которое может быть отображено в этом окне, независимо от вывода SDR или HDR. Возвращает 1.0, если HDR не включен или не поддерживается. Сигнал Window.OutputMaxLinearValueChanged испускается при каждом изменении этого значения. Это значение используется тональной компрессией и другими эффектами Environment для обеспечения того, чтобы яркие цвета отображались в диапазоне, доступном для этого окна. При использовании этого максимального линейного значения в вашем проекте оно должно использоваться только для вывода цветов непосредственно на экран без тональной компрессии и без влияния на освещение, эффекты постобработки или окружающие цвета. Ниже приведён пример, который создаёт самый яркий фиолетовый цвет, который может отобразить экран:

Примечание: Вам необходимо преобразовать sRGB-цвета в линейные перед умножением на это значение для получения корректных результатов.

Возвращает float
GetPositionVector2I
# GetPosition
C#
public Vector2I GetPosition();
Возвращает Vector2I
GetPositionWithDecorationsVector2I
# GetPositionWithDecorations
C#
public Vector2I GetPositionWithDecorations();

Возвращает позицию окна, включая его границу. Примечание: Если Window.Visible равно false, этот метод возвращает то же значение, что и Window.Position.

Возвращает Vector2I
GetSizeVector2I
# GetSize
C#
public Vector2I GetSize();
Возвращает Vector2I
GetSizeWithDecorationsVector2I
# GetSizeWithDecorations
C#
public Vector2I GetSizeWithDecorations();

Возвращает размер окна, включая его границу. Примечание: Если Window.Visible равно false, этот метод возвращает то же значение, что и Window.Size.

Возвращает Vector2I
GetThemeTheme
# GetTheme
C#
public Theme GetTheme();
Возвращает Theme
GetThemeColorColor
# GetThemeColor
C#
public Color GetThemeColor(StringName name, StringName themeType = null);

Возвращается a Color от первого совпадения Theme на дереве, если это Theme имеет цветный элемент с указанным name и theme_type. Смотрите. Control.GetThemeColor Для подробностей.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает Color
GetThemeConstantint
# GetThemeConstant
C#
public int GetThemeConstant(StringName name, StringName themeType = null);

Возвращает константу из первого совпадения Theme на дереве, если это Theme имеет постоянный элемент с указанным name и theme_type. Смотрите. Control.GetThemeColor Для подробностей.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает int
GetThemeDefaultBaseScalefloat
# GetThemeDefaultBaseScale
C#
public float GetThemeDefaultBaseScale();

Возвращает базовое значение масштаба по умолчанию из первой соответствующей Theme в дереве, если эта Theme имеет допустимое значение Theme.DefaultBaseScale. Подробнее см. в Control.GetThemeColor.

Возвращает float
GetThemeDefaultFontFont
# GetThemeDefaultFont
C#
public Font GetThemeDefaultFont();

Возвращает шрифт по умолчанию из первого совпадения Theme на дереве, если это Theme действительный Theme.DefaultFont Стоимость. Смотрите. Control.GetThemeColor Для подробностей.

Возвращает Font
GetThemeDefaultFontSizeint
# GetThemeDefaultFontSize
C#
public int GetThemeDefaultFontSize();

Возвращает значение по умолчанию для Размер шрифта из первого подходящего Theme в дереве, если Theme имеет допустимое значение Theme.DefaultFontSize. Подробности смотрите в Control.GetThemeColor.

Возвращает int
GetThemeFontFont
# GetThemeFont
C#
public Font GetThemeFont(StringName name, StringName themeType = null);

Возвращает Font из первого подходящего Theme в дереве, если в Theme есть элемент font с указанными name и theme_type. Подробности смотрите в Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает Font
GetThemeFontSizeint
# GetThemeFontSize
C#
public int GetThemeFontSize(StringName name, StringName themeType = null);

Возвращает Размер шрифта из первого подходящего Theme в дереве, если в Theme есть элемент Размер шрифта с указанными name и theme_type. Подробности смотрите в Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает int
GetThemeIconTexture2D
# GetThemeIcon
C#
public Texture2D GetThemeIcon(StringName name, StringName themeType = null);

Возвращает icon из первого подходящего Theme в дереве, если в Theme есть элемент icon с указанными name и theme_type. Подробности смотрите в Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает Texture2D
GetThemeSoundAudioStream
# GetThemeSound
C#
public AudioStream GetThemeSound(StringName name, StringName themeType = null);

Возвращает звук из первого совпадения Theme на дереве, если это Theme имеет звуковой элемент с указанным name и theme_type. Смотрите. Control.GetThemeColor Для подробностей.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает AudioStream
GetThemeStyleboxStyleBox
# GetThemeStylebox
C#
public StyleBox GetThemeStylebox(StringName name, StringName themeType = null);

Возвращает StyleBox из первого подходящего Theme в дереве, если в Theme есть элемент stylebox с указанными name и theme_type. Подробности смотрите в Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает StyleBox
GetThemeTypeVariationStringName
# GetThemeTypeVariation
C#
public StringName GetThemeTypeVariation();
Возвращает StringName
GetTitlestring
# GetTitle
C#
public string GetTitle();
Возвращает string
GetWindowIdint
# GetWindowId
C#
public int GetWindowId();

Возвращает ID окна.

Возвращает int
GrabFocusvoid
# GrabFocus
C#
public void GrabFocus();

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

HasFocusbool
# HasFocus
C#
public bool HasFocus();

Возвращает true, если окно находится в фокусе.

Возвращает bool
HasThemeColorbool
# HasThemeColor
C#
public bool HasThemeColor(StringName name, StringName themeType = null);

Возвращает true, если в дереве есть соответствующий Theme, в котором есть элемент color с указанными name и theme_type. Подробности смотрите в Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeColorOverridebool
# HasThemeColorOverride
C#
public bool HasThemeColorOverride(StringName name);

Возвращает true, если есть локальное переопределение для темы Color с указанным name в этом узле Control. См. Window.AddThemeColorOverride.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
HasThemeConstantbool
# HasThemeConstant
C#
public bool HasThemeConstant(StringName name, StringName themeType = null);

Возвращает true, если в дереве есть соответствующий Theme, в котором есть элемент constant с указанными name и theme_type. Подробности смотрите в Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeConstantOverridebool
# HasThemeConstantOverride
C#
public bool HasThemeConstantOverride(StringName name);

Возвращает true, если есть локальное переопределение для константы темы с указанным name в этом узле Control. См. Window.AddThemeConstantOverride.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
HasThemeFontbool
# HasThemeFont
C#
public bool HasThemeFont(StringName name, StringName themeType = null);

Returns (Возврат) true если есть совпадение Theme на дереве, в котором имеется шрифт с указанным name и theme_type. Смотрите. Control.GetThemeFont Для подробностей.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeFontOverridebool
# HasThemeFontOverride
C#
public bool HasThemeFontOverride(StringName name);

Возвращает true, если есть локальное переопределение для темы Font с указанным name в этом узле Control. См. Window.AddThemeFontOverride.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
HasThemeFontSizebool
# HasThemeFontSize
C#
public bool HasThemeFontSize(StringName name, StringName themeType = null);

Returns (Возврат) true если есть совпадение Theme на дереве, которое имеет размер шрифта с указанным name и theme_type. Смотрите. Control.GetThemeFontSize Для подробностей.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeFontSizeOverridebool
# HasThemeFontSizeOverride
C#
public bool HasThemeFontSizeOverride(StringName name);

Возвращает true, если есть локальное переопределение для размера шрифта темы с указанным name в этом узле Control. См. Window.AddThemeFontSizeOverride.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
HasThemeIconbool
# HasThemeIcon
C#
public bool HasThemeIcon(StringName name, StringName themeType = null);

Returns (Возврат) true если есть совпадение Theme на дереве, у которого есть значок с указанным name и theme_type. Смотрите. Control.GetThemeIcon Для подробностей.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeIconOverridebool
# HasThemeIconOverride
C#
public bool HasThemeIconOverride(StringName name);

Возвращает true, если есть локальное переопределение для значка темы с указанным name в этом узле Control. См. Window.AddThemeIconOverride.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
HasThemeSoundbool
# HasThemeSound
C#
public bool HasThemeSound(StringName name, StringName themeType = null);

Returns (Возврат) true если есть совпадение Theme на дереве, у которого есть звук с указанным name и theme_type. Смотрите. Control.GetThemeSound Для подробностей.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeSoundOverridebool
# HasThemeSoundOverride
C#
public bool HasThemeSoundOverride(StringName name);

Returns (Возврат) true если существует локальное переключение для темы звука с указанным name в этом Control Узел. Смотрите. Window.AddThemeSoundOverride.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
HasThemeStyleboxbool
# HasThemeStylebox
C#
public bool HasThemeStylebox(StringName name, StringName themeType = null);

Returns (Возврат) true если есть совпадение Theme на дереве, в котором имеется элемент стиля с указанным name и theme_type. Смотрите. Control.GetThemeStylebox Для подробностей.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeStyleboxOverridebool
# HasThemeStyleboxOverride
C#
public bool HasThemeStyleboxOverride(StringName name);

Возвращает true, если есть локальное переопределение для темы StyleBox с указанным name в этом узле Control. См. Window.AddThemeStyleboxOverride.

Спрячься.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
Hidevoid
# Hide
C#
public void Hide();

Скрывает окно. Это не то же самое, что свернутое состояние. Со скрытым окном нельзя взаимодействовать, и его нужно сделать видимым с помощью Window.Show.

IsAutoTranslatingbool
# IsAutoTranslating
C#
public bool IsAutoTranslating();
Возвращает bool
IsEmbeddedbool
# IsEmbedded
C#
public bool IsEmbedded();

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

Возвращает bool
IsExclusivebool
# IsExclusive
C#
public bool IsExclusive();
Возвращает bool
IsFullscreenShortcutEnabledbool
# IsFullscreenShortcutEnabled
C#
public bool IsFullscreenShortcutEnabled();
Возвращает bool
IsHdrOutputRequestedbool
# IsHdrOutputRequested
C#
public bool IsHdrOutputRequested();
Возвращает bool
IsLayoutRtlbool
# IsLayoutRtl
C#
public bool IsLayoutRtl();

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

Возвращает bool
IsMaximizeAllowedbool
# IsMaximizeAllowed
C#
public bool IsMaximizeAllowed();

Возвращает true, если окно можно развернуть (кнопка развернуть включена).

Возвращает bool
IsTransientbool
# IsTransient
C#
public bool IsTransient();
Возвращает bool
IsTransientToFocusedbool
# IsTransientToFocused
C#
public bool IsTransientToFocused();
Возвращает bool
IsUsingFontOversamplingbool
# IsUsingFontOversampling
C#
public bool IsUsingFontOversampling();

Возвращает true, если включена передискретизация шрифта. См. Window.SetUseFontOversampling.

Возвращает bool
IsVisiblebool
# IsVisible
C#
public bool IsVisible();
Возвращает bool
IsWrappingControlsbool
# IsWrappingControls
C#
public bool IsWrappingControls();
Возвращает bool
MoveToCentervoid
# MoveToCenter
C#
public void MoveToCenter();

Центрирует окно на текущем экране. Если окно встроено, оно центрируется в области просмотра Viewport.

MoveToForegroundvoid · Устарело
# MoveToForeground
C#
public void MoveToForeground();

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

Popupvoid
# Popup
C#
public void Popup(Rect2I? rect = default);

Показывает Window и делает его переходным (см. Window.Transient). Если указан rect, он будет установлен как размер Window. Не удается, если вызывается в главном окне. Если ProjectSettings.display/window/subwindows/embed_subwindows равен true (режим одного окна), координаты rect являются глобальными и относятся к верхнему левому углу главного окна (исключая оформление окна). Если координаты позиции rect отрицательные, окно будет расположено за пределами главного окна и в результате может быть невидимым. Если ProjectSettings.display/window/subwindows/embed_subwindows равен false (режим нескольких окон), координаты rect являются глобальными и относятся к верхнему левому углу самого левого экрана. Если координаты позиции rect отрицательные, окно будет размещено в верхнем левом углу экрана. Примечание: rect должен быть в глобальных координатах, если указан.

Параметры
ИмяТипПо умолчанию
rectRect2I?default
rect

Если параметр не имеет значения, то значение по умолчанию: new Rect2I(new Vector2I(0, 0), new Vector2I(0, 0)).

PopupCenteredvoid
# PopupCentered
C#
public void PopupCentered(Vector2I? minsize = default);

Всплывает Window в центре текущего экрана с опционально заданным минимальным размером. Если Window встроено, оно будет центрировано в родительском Viewport. Примечание: Вызов его со значением по умолчанию minsize эквивалентен вызову его с Window.Size.

Параметры
ИмяТипПо умолчанию
minsizeVector2I?default
minsize

Если параметр не имеет значения, то значение по умолчанию: new Vector2I(0, 0).

PopupCenteredClampedvoid
# PopupCenteredClamped
C#
public void PopupCenteredClamped(Vector2I? minsize = default, float fallbackRatio = 0.75f);

Всплывает Window, центрированное внутри его родительского Window. fallback_ratio определяет максимальный размер Window по отношению к его родительскому элементу. Примечание: Вызов его со значением по умолчанию minsize эквивалентен вызову его с Window.Size.

Параметры
ИмяТипПо умолчанию
minsizeVector2I?default
fallbackRatiofloat0.75f
minsize

Если параметр не имеет значения, то значение по умолчанию: new Vector2I(0, 0).

PopupCenteredRatiovoid
# PopupCenteredRatio
C#
public void PopupCenteredRatio(float ratio = 0.8f);

Если Window встроено, всплывает Window по центру внутри своего встраиваемого устройства и устанавливает его размер как ratio размера встраиваемого устройства. Если Window является собственным окном, всплывает Window по центру внутри экрана его родительского Window и устанавливает его размер как ratio размера экрана.

Параметры
ИмяТипПо умолчанию
ratiofloat0.8f
PopupExclusivevoid
# PopupExclusive
C#
public void PopupExclusive(Entity fromNode, Rect2I? rect = default);

Пытается сделать этот диалог родительским для последнего эксклюзивного окна относительно from_node, а затем вызывает Window.Popup для него. Диалог не должен иметь текущего родителя, в противном случае метод не выполняется. См. также Window.SetUnparentWhenInvisible и Entity.GetLastExclusiveWindow.

Параметры
ИмяТипПо умолчанию
fromNodeEntity—
rectRect2I?default
rect

Если параметр не имеет значения, то значение по умолчанию: new Rect2I(new Vector2I(0, 0), new Vector2I(0, 0)).

PopupExclusiveCenteredvoid
# PopupExclusiveCentered
C#
public void PopupExclusiveCentered(Entity fromNode, Vector2I? minsize = default);

Пытается сделать этот диалог родительским для последнего эксклюзивного окна относительно from_node, а затем вызывает Window.PopupCentered для него. Диалог не должен иметь текущего родителя, в противном случае метод не выполняется. См. также Window.SetUnparentWhenInvisible и Entity.GetLastExclusiveWindow.

Параметры
ИмяТипПо умолчанию
fromNodeEntity—
minsizeVector2I?default
minsize

Если параметр не имеет значения, то значение по умолчанию: new Vector2I(0, 0).

PopupExclusiveCenteredClampedvoid
# PopupExclusiveCenteredClamped
C#
public void PopupExclusiveCenteredClamped(Entity fromNode, Vector2I? minsize = default, float fallbackRatio = 0.75f);

Пытается сделать этот диалог родительским для последнего эксклюзивного окна относительно from_node, а затем вызывает Window.PopupCenteredClamped для него. Диалог не должен иметь текущего родителя, в противном случае метод не выполняется. См. также Window.SetUnparentWhenInvisible и Entity.GetLastExclusiveWindow.

Параметры
ИмяТипПо умолчанию
fromNodeEntity—
minsizeVector2I?default
fallbackRatiofloat0.75f
minsize

Если параметр не имеет значения, то значение по умолчанию: new Vector2I(0, 0).

PopupExclusiveCenteredRatiovoid
# PopupExclusiveCenteredRatio
C#
public void PopupExclusiveCenteredRatio(Entity fromNode, float ratio = 0.8f);

Пытается сделать этот диалог родительским для последнего эксклюзивного окна относительно from_node, а затем вызывает Window.PopupCenteredRatio для него. Диалог не должен иметь текущего родителя, в противном случае метод не выполняется. См. также Window.SetUnparentWhenInvisible и Entity.GetLastExclusiveWindow.

Параметры
ИмяТипПо умолчанию
fromNodeEntity—
ratiofloat0.8f
PopupExclusiveOnParentvoid
# PopupExclusiveOnParent
C#
public void PopupExclusiveOnParent(Entity fromNode, Rect2I parentRect);

Пытается сделать этот диалог родительским для последнего эксклюзивного окна относительно from_node, а затем вызывает Window.PopupOnParent для него. Диалог не должен иметь текущего родителя, в противном случае метод не выполняется. См. также Window.SetUnparentWhenInvisible и Entity.GetLastExclusiveWindow.

Параметры
ИмяТипПо умолчанию
fromNodeEntity—
parentRectRect2I—
PopupOnParentvoid
# PopupOnParent
C#
public void PopupOnParent(Rect2I parentRect);

Всплывает Window с позицией, смещенной на позицию родительского Window. Если Window встроено, имеет тот же эффект, что и Window.Popup.

Параметры
ИмяТипПо умолчанию
parentRectRect2I—
RemoveThemeColorOverridevoid
# RemoveThemeColorOverride
C#
public void RemoveThemeColorOverride(StringName name);

Удаляет локальное переопределение для темы Color с указанным name, ранее добавленное с помощью Window.AddThemeColorOverride или через панель инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
RemoveThemeConstantOverridevoid
# RemoveThemeConstantOverride
C#
public void RemoveThemeConstantOverride(StringName name);

Удаляет локальное переопределение для константы темы с указанным name, ранее добавленное Window.AddThemeConstantOverride или через панель инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
RemoveThemeFontOverridevoid
# RemoveThemeFontOverride
C#
public void RemoveThemeFontOverride(StringName name);

Удаляет локальное переопределение для темы Font с указанным name, ранее добавленное Window.AddThemeFontOverride или через панель инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
RemoveThemeFontSizeOverridevoid
# RemoveThemeFontSizeOverride
C#
public void RemoveThemeFontSizeOverride(StringName name);

Удаляет локальное переопределение размера шрифта темы с указанным name, ранее добавленное Window.AddThemeFontSizeOverride или через панель инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
RemoveThemeIconOverridevoid
# RemoveThemeIconOverride
C#
public void RemoveThemeIconOverride(StringName name);

Удаляет локальное переопределение для значка темы с указанным name, ранее добавленное Window.AddThemeIconOverride или через панель инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
RemoveThemeSoundOverridevoid
# RemoveThemeSoundOverride
C#
public void RemoveThemeSoundOverride(StringName name);

Удалить локальное переключение для тематического звука с указанным name Ранее добавленная Window.AddThemeSoundOverride или через док Инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
RemoveThemeStyleboxOverridevoid
# RemoveThemeStyleboxOverride
C#
public void RemoveThemeStyleboxOverride(StringName name);

Удаляет локальное переопределение для темы StyleBox с указанным name, ранее добавленное Window.AddThemeStyleboxOverride или через панель инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
RequestAttentionvoid
# RequestAttention
C#
public void RequestAttention();

Рассказывает OS что Window Это в какой-то мере влияет на систему, например, она может моргать на панель задач.

ResetSizevoid
# ResetSize
C#
public void ResetSize();

Сбрасывает размер до минимального размера, который является максимальным из Window.MinSize и (если включен Window.WrapControls) Window.GetContentsMinimumSize. Это эквивалентно вызову set_size(Vector2i()) (или любого размера ниже минимального).

SetAccessibilityDescriptionvoid
# SetAccessibilityDescription
C#
public void SetAccessibilityDescription(string description);
Параметры
ИмяТипПо умолчанию
descriptionstring—
SetAccessibilityNamevoid
# SetAccessibilityName
C#
public void SetAccessibilityName(string name);
Параметры
ИмяТипПо умолчанию
namestring—
SetAutoTranslatevoid
# SetAutoTranslate
C#
public void SetAutoTranslate(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetContentScaleAspectvoid
# SetContentScaleAspect
C#
public void SetContentScaleAspect(Window.ContentScaleAspectEnum aspect);

Задаёт ContentScaleAspect. Политика пропорций при масштабировании. Keep сохраняет базовую область с полосами при необходимости; Expand открывает дополнительную логическую область; Ignore допускает неравномерное растяжение. Не расставляет элементы UI автоматически.

Параметры
ИмяТипПо умолчанию
aspectWindow.ContentScaleAspectEnum—
aspect

Политика пропорций при масштабировании. Keep сохраняет базовую область с полосами при необходимости; Expand открывает дополнительную логическую область; Ignore допускает неравномерное растяжение. Не расставляет элементы UI автоматически.

SetContentScaleFactorvoid
# SetContentScaleFactor
C#
public void SetContentScaleFactor(float factor);

Задаёт ContentScaleFactor. Множитель масштаба всего содержимого, а не только шрифта. В проверенном CanvasItems увеличение 1 → 2 уменьшает логическую видимую область вдвое по каждой оси. В режиме Viewport также влияет на внутренний размер отрисовки; проверяйте компоновку и качество отдельно.

Параметры
ИмяТипПо умолчанию
factorfloat—
factor

Множитель масштаба всего содержимого, а не только шрифта. В проверенном CanvasItems увеличение 1 → 2 уменьшает логическую видимую область вдвое по каждой оси. В режиме Viewport также влияет на внутренний размер отрисовки; проверяйте компоновку и качество отдельно.

SetContentScaleModevoid
# SetContentScaleMode
C#
public void SetContentScaleMode(Window.ContentScaleModeEnum mode);

Задаёт ContentScaleMode. Режим масштабирования содержимого окна. CanvasItems масштабирует логическое 2D и рисует в подогнанном размере окна; Viewport рисует в базовом разрешении и затем масштабирует изображение. Не тождественен отдельному масштабу 3D.

Параметры
ИмяТипПо умолчанию
modeWindow.ContentScaleModeEnum—
mode

Режим масштабирования содержимого окна. CanvasItems масштабирует логическое 2D и рисует в подогнанном размере окна; Viewport рисует в базовом разрешении и затем масштабирует изображение. Не тождественен отдельному масштабу 3D.

SetContentScaleSizevoid
# SetContentScaleSize
C#
public void SetContentScaleSize(Vector2I size);

Задаёт ContentScaleSize. Базовый размер дизайна для масштабирования окна. Не переключает разрешение монитора и не равен обязательно Size окна или размеру render target. Итоговая логическая область зависит от режима, политики пропорций и ContentScaleFactor.

Параметры
ИмяТипПо умолчанию
sizeVector2I—
size

Базовый размер дизайна для масштабирования окна. Не переключает разрешение монитора и не равен обязательно Size окна или размеру render target. Итоговая логическая область зависит от режима, политики пропорций и ContentScaleFactor.

SetContentScaleStretchvoid
# SetContentScaleStretch
C#
public void SetContentScaleStretch(Window.ContentScaleStretchEnum stretch);
Параметры
ИмяТипПо умолчанию
stretchWindow.ContentScaleStretchEnum—
SetCurrentScreenvoid
# SetCurrentScreen
C#
public void SetCurrentScreen(int index);
Параметры
ИмяТипПо умолчанию
indexint—
SetExclusivevoid
# SetExclusive
C#
public void SetExclusive(bool exclusive);
Параметры
ИмяТипПо умолчанию
exclusivebool—
SetFlagvoid
# SetFlag
C#
public void SetFlag(Window.Flags flag, bool enabled);

Устанавливает указанный флаг окна.

Параметры
ИмяТипПо умолчанию
flagWindow.Flags—
enabledbool—
SetForceNativevoid
# SetForceNative
C#
public void SetForceNative(bool forceNative);
Параметры
ИмяТипПо умолчанию
forceNativebool—
SetFullscreenShortcutEnabledvoid
# SetFullscreenShortcutEnabled
C#
public void SetFullscreenShortcutEnabled(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetHdrOutputRequestedvoid
# SetHdrOutputRequested
C#
public void SetHdrOutputRequested(bool requested);
Параметры
ИмяТипПо умолчанию
requestedbool—
SetImeActivevoid
# SetImeActive
C#
public void SetImeActive(bool active);

Если active это true, позволяет IME системы (IME)Input Редактор метода).

Параметры
ИмяТипПо умолчанию
activebool—
SetImePositionvoid
# SetImePosition
C#
public void SetImePosition(Vector2I position);

Перемещает IME в указанную позицию.

Параметры
ИмяТипПо умолчанию
positionVector2I—
SetInitialPositionvoid
# SetInitialPosition
C#
public void SetInitialPosition(Window.WindowInitialPosition initialPosition);
Параметры
ИмяТипПо умолчанию
initialPositionWindow.WindowInitialPosition—
SetKeepTitleVisiblevoid
# SetKeepTitleVisible
C#
public void SetKeepTitleVisible(bool titleVisible);
Параметры
ИмяТипПо умолчанию
titleVisiblebool—
SetLayoutDirectionvoid
# SetLayoutDirection
C#
public void SetLayoutDirection(Window.LayoutDirection direction);

Устанавливает направление макета и направление написания текста. Для некоторых языков (например, арабского и иврита) необходимы макеты справа налево.

Параметры
ИмяТипПо умолчанию
directionWindow.LayoutDirection—
SetMaxSizevoid
# SetMaxSize
C#
public void SetMaxSize(Vector2I maxSize);
Параметры
ИмяТипПо умолчанию
maxSizeVector2I—
SetMinSizevoid
# SetMinSize
C#
public void SetMinSize(Vector2I minSize);
Параметры
ИмяТипПо умолчанию
minSizeVector2I—
SetModevoid
# SetMode
C#
public void SetMode(Window.ModeEnum mode);
Параметры
ИмяТипПо умолчанию
modeWindow.ModeEnum—
SetMousePassthroughPolygon2 перегрузки
# SetMousePassthroughPolygon · 1/2
C#
public void SetMousePassthroughPolygon(Vector2[] polygon);
Параметры
ИмяТипПо умолчанию
polygonVector2[]—
# SetMousePassthroughPolygon · 2/2
C#
public void SetMousePassthroughPolygon(ReadOnlySpan<Vector2> polygon);
Параметры
ИмяТипПо умолчанию
polygonReadOnlySpan<Vector2>—
SetNonclientAreavoid
# SetNonclientArea
C#
public void SetNonclientArea(Rect2I area);
Параметры
ИмяТипПо умолчанию
areaRect2I—
SetPositionvoid
# SetPosition
C#
public void SetPosition(Vector2I position);
Параметры
ИмяТипПо умолчанию
positionVector2I—
SetSizevoid
# SetSize
C#
public void SetSize(Vector2I size);
Параметры
ИмяТипПо умолчанию
sizeVector2I—
SetTaskbarProgressStatevoid
# SetTaskbarProgressState
C#
public void SetTaskbarProgressState(DisplayServer.ProgressState state);

Устанавливает тип и состояние индикатора выполнения на значке панели задач/док-панели Window. См. DisplayServer.ProgressState для получения информации о возможных значениях и поведении каждого режима. Примечание: Этот метод реализован только в Windows и macOS.

Параметры
ИмяТипПо умолчанию
stateDisplayServer.ProgressState—
SetTaskbarProgressValuevoid
# SetTaskbarProgressValue
C#
public void SetTaskbarProgressValue(float value);

Создает индикатор выполнения на значке Window на панели задач/доке, если он отсутствует, и устанавливает прогресс отображения значка. value выступает в качестве относительного процентного значения, диапазон от 0.0 (минимальное) до 1.0 (максимальное). Примечание: Этот метод реализован только в Windows и macOS.

Параметры
ИмяТипПо умолчанию
valuefloat—
SetThemevoid
# SetTheme
C#
public void SetTheme(Theme theme);
Параметры
ИмяТипПо умолчанию
themeTheme—
SetThemeTypeVariationvoid
# SetThemeTypeVariation
C#
public void SetThemeTypeVariation(StringName themeType);
Параметры
ИмяТипПо умолчанию
themeTypeStringName—
SetTitlevoid
# SetTitle
C#
public void SetTitle(string title);
Параметры
ИмяТипПо умолчанию
titlestring—
SetTransientvoid
# SetTransient
C#
public void SetTransient(bool transient);
Параметры
ИмяТипПо умолчанию
transientbool—
SetTransientToFocusedvoid
# SetTransientToFocused
C#
public void SetTransientToFocused(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetUnparentWhenInvisiblevoid
# SetUnparentWhenInvisible
C#
public void SetUnparentWhenInvisible(bool unparent);

Если unparent равен true, окно автоматически теряет родительский статус при переходе в невидимое состояние. Примечание: Обязательно сохраните ссылку на узел, иначе он станет осиротевшим. Вам также нужно вручную вызвать Entity.QueueFree, чтобы освободить окно, если оно не является родительским.

Параметры
ИмяТипПо умолчанию
unparentbool—
SetUseFontOversamplingvoid
# SetUseFontOversampling
C#
public void SetUseFontOversampling(bool enable);

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

Параметры
ИмяТипПо умолчанию
enablebool—
SetVisiblevoid
# SetVisible
C#
public void SetVisible(bool visible);
Параметры
ИмяТипПо умолчанию
visiblebool—
SetWrapControlsvoid
# SetWrapControls
C#
public void SetWrapControls(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
Showvoid
# Show
C#
public void Show();

Заставляет Window появиться. Это позволяет взаимодействовать с Window и не изменяет никаких его свойств, кроме видимости (в отличие, например, от Window.Popup).

StartDragvoid
# StartDrag
C#
public void StartDrag();

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

StartResizevoid
# StartResize
C#
public void StartResize(DisplayServer.WindowResizeEdge edge);

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

Параметры
ИмяТипПо умолчанию
edgeDisplayServer.WindowResizeEdge—
_GetContentsMinimumSizeVector2
# _GetContentsMinimumSize
C#
public virtual Vector2 _GetContentsMinimumSize();

Виртуальный метод, реализуемый пользователем. Переопределяет значение, возвращаемое Window.GetContentsMinimumSize.

Возвращает Vector2

Сигналы и события16

AboutToPopupСобытие
# AboutToPopup
C#
public event Action AboutToPopup;

Вызывается сразу после вызова Window.Popup, до того, как появится Window или произойдет что-либо еще.

CloseRequestedСобытие
# CloseRequested
C#
public event Action CloseRequested;

Запрос закрытия окна. Для главного окна учитывайте EntityTree.AutoAcceptQuit. При несохранённых изменениях сначала получите решение пользователя и проверьте сохранение; не завершайте процесс после ошибки записи.

DpiChangedСобытие
# DpiChanged
C#
public event Action DpiChanged;

Удалено, когда Window:: изменения ДОИ в результате OS- изменения уровня (например, перенос окна с дисплея " Сетчатка " на более низкое разрешение). Примечание: Осуществляется только на MacOS и Linux (Wayland).

FilesDroppedСобытие
# FilesDropped
C#
public event Window.FilesDroppedEventHandler FilesDropped;

Приемлемо, когда файлы вытаскиваются из OS Файл-менеджер и выброшен в окно игры. Аргумент - это список файловых путей.

Примечание: Этот сигнал работает только с внутренними окнами, т.е. главным окном и Window- Наличие узлов, когда Viewport.GuiEmbedSubwindows , отключена в главном порту. Примечание: На веб-платформе файлы сбрасываются во временную папку и удаляются автоматически после подачи сигнала. user://) для их сохранения.

Сосредоточься

Параметры обработчика
ИмяТипПо умолчанию
filesstring[]—
FocusEnteredСобытие
# FocusEntered
C#
public event Action FocusEntered;

Вызывается, когда Window получает фокус.

Сосредоточься

FocusExitedСобытие
# FocusExited
C#
public event Action FocusExited;

Возникает, когда Window теряет фокус.

GoBackRequestedСобытие
# GoBackRequested
C#
public event Action GoBackRequested;

Вызывается при отправке запроса на возврат (например, при нажатии кнопки "Назад" на Android), сразу после Entity.NotificationWMGoBackRequest.

MouseEnteredСобытие
# MouseEntered
C#
public event Action MouseEntered;

Вызывается, когда курсор мыши попадает в видимую область Window, которая не перекрыта другими Control или окнами, при условии, что его Viewport.GuiDisableInput имеет значение false и независимо от того, находится ли он в данный момент в фокусе или нет.

MouseExitedСобытие
# MouseExited
C#
public event Action MouseExited;

Вызывается, когда курсор мыши покидает видимую область Window, которая не перекрыта другими Control или окнами, при условии, что его Viewport.GuiDisableInput имеет значение false и независимо от того, находится ли он в данный момент в фокусе или нет.

NonclientWindowInputСобытие
# NonclientWindowInput
C#
public event Window.NonclientWindowInputEventHandler NonclientWindowInput;

Событие генерируется при получении события мыши пользовательской областью оформления, определенной параметром Window.NonclientArea, и блокировке обычного ввода в окно (например, когда в нем открыт эксклюзивный дочерний элемент). Позиция event указана в системе координат встраиваемого элемента.

Параметры обработчика
ИмяТипПо умолчанию
eventInputEvent—
OutputMaxLinearValueChangedСобытие
# OutputMaxLinearValueChanged
C#
public event Window.OutputMaxLinearValueChangedEventHandler OutputMaxLinearValueChanged;

Испускается, когда максимальное линейное значение вывода, возвращаемое Window.GetOutputMaxLinearValue, изменилось. Это происходит при включении или отключении вывода HDR и при изменении любых значений яркости вывода HDR окна, например, когда игрок изменяет настройки яркости экрана или перемещает окно на другой экран. output_max_linear_value — новое значение.

Параметры обработчика
ИмяТипПо умолчанию
outputMaxLinearValuedouble—
ThemeChangedСобытие
# ThemeChanged
C#
public event Action ThemeChanged;

Вызывается при отправке уведомления Window.NotificationThemeChanged.

TitleChangedСобытие
# TitleChanged
C#
public event Action TitleChanged;

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

TitlebarChangedСобытие
# TitlebarChanged
C#
public event Action TitlebarChanged;

Генерируется при изменении оформления заголовка окна, например, при входе/выходе окна macOS из полноэкранного режима или при изменении флага расширения до заголовка.

VisibilityChangedСобытие
# VisibilityChanged
C#
public event Action VisibilityChanged;

Выдается, когда Window становится видимым или исчезает.

WindowInputСобытие
# WindowInput
C#
public event Window.WindowInputEventHandler WindowInput;

Генерируется, когда Window в данный момент сфокусировано и принимает какие-либо входные данные, передавая полученное событие в качестве аргумента. Положение события, если оно присутствует, находится в системе координат внедренца.

Параметры обработчика
ИмяТипПо умолчанию
eventInputEvent—

Поля и константы2

NotificationThemeChangedПоле
# NotificationThemeChanged
C#
public const long NotificationThemeChanged = 32;

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

  • Свойство Window.Theme изменено на этом узле или любом из его предков.
  • Свойство Window.ThemeTypeVariation изменено на этом узле.
  • Узел входит в дерево сцен. Примечание: В качестве оптимизации это уведомление не будет отправлено из-за изменений, которые происходят, когда этот узел находится за пределами дерева сцен. Вместо этого все обновления элементов темы могут быть применены сразу, когда узел входит в дерево сцены.
NotificationVisibilityChangedПоле
# NotificationVisibilityChanged
C#
public const long NotificationVisibilityChanged = 30;

Испускается при изменении видимости Window, непосредственно перед Window.VisibilityChanged.

УВЕДОМЛЕНИЕ_ТЕМА_ ИЗМЕНЕНИЕ

Window.ContentScaleAspectEnum

ЗначениеОписание
Expand = 4

Формат содержимого будет сохранен. Если целевой размер отличается от базового, содержимое останется в верхнем левом углу и добавит дополнительную видимую область в растянутом пространстве.

Ignore = 0

Аспект будет проигнорирован. Масштабирование просто растянет содержимое в соответствии с целевым размером.

Keep = 1

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

KeepHeight = 3

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

KeepWidth = 2

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

Window.ContentScaleModeEnum

ЗначениеОписание
CanvasItems = 1

Содержимое будет отображаться в целевом размере. Это более затратно по производительности, чем Window.ContentScaleModeEnum.Viewport, но обеспечивает лучшие результаты.

Disabled = 0

Содержимое не будет масштабироваться в соответствии с размером Window (Window.ContentScaleSize игнорируется).

Viewport = 2

Содержимое будет отображено в базовом размере, а затем масштабировано до целевого размера. Более производительно, чем Window.ContentScaleModeEnum.CanvasItems, но приводит к пикселизации изображения.

Window.ContentScaleStretchEnum

ЗначениеОписание
Fractional = 0

Содержимое будет растянуто в соответствии с дробным коэффициентом. Это заполняет все доступное пространство в окне, но допускает "колебание пикселя" из-за неравномерного масштабирования пикселей.

Integer = 1

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

Window.Flags

ЗначениеОписание
AlwaysOnTop = 2

Окно плавает поверх всех остальных окон. Этот флаг игнорируется для полноэкранных окон. Устанавливается с помощью Window.AlwaysOnTop. Примечание: Этот флаг реализован на Linux (X11), macOS, Windows и во встроенных окнах.

Borderless = 1

Окно не имеет встроенной строки заголовка и других украшений. Этот флаг игнорируется для полноэкранных окон. Устанавливается с помощью Window.Borderless. Примечание: Этот флаг реализован на Linux (X11/Wayland), macOS, Windows и во встроенных окнах.

ExcludeFromCapture = 9

Окно Windows не учитывается при создании снимков экрана с помощью DisplayServer.ScreenGetImage, DisplayServer.ScreenGetImageRect и DisplayServer.ScreenGetPixel. Примечание: Этот флаг не действует во встроенных окнах. Примечание: Этот флаг реализован в macOS и Windows (10, 20H1). Примечание: Установка этого флага предотвратит захват изображения окна стандартными методами, но НЕ гарантирует, что другие приложения не смогут сделать снимок. Его не следует использовать в качестве DRM-защиты или меры безопасности.

ExtendToTitle = 6

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

Max = 13

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

MaximizeDisabled = 12

Window Отключена кнопка максимального использования. Примечание: Этот флаг не влияет на встроенные окна. Примечание: Этот флаг действует на Linux (X11), acOS и Windows.

MinimizeDisabled = 11

Window Отключена кнопка сведения к минимуму. Примечание: Этот флаг не влияет на встроенные окна. Примечание: Этот флаг действует на Linux (X11), acOS и Windows.

MousePassthrough = 7

Все события мыши передаются в базовое окно того же приложения. Примечание: Этот флаг не действует во встроенных окнах. Примечание: Этот флаг реализован на Linux (X11), macOS, Windows.

NoFocus = 4

Окно не может быть сфокусировано. Окно без фокуса будет игнорировать весь ввод, кроме щелчков мыши. Устанавливается с помощью Window.Unfocusable. Примечание: Этот флаг реализован на Linux (X11), macOS, Windows и во встроенных окнах.

Popup = 5

Window является частью меню или OptionButton Этот флаг не может быть изменен, когда окно видно. Активное всплывающее окно будет только получать все данные, не украдая фокус у своего родителя. Popup Окна автоматически закрываются при щелчке снаружи или при переключении приложения. Popup окно должно иметь набор переходных родителей (см. Window.Transient). Примечание: Этот флаг установлен на Linux (X11/Wayland), acOS, Windows и встроен Popup окна.

PopupWMHint = 10

Сообщает оконному менеджеру, что это окно должно быть определённым реализацией «всплывающим» окном (обычно плавающим, без рамок, неразворачиваемым и неподвижным дочерним окном). Примечание: Этот флаг не действует во встроенных окнах. Примечание: Этот флаг реализован на Linux (Wayland).

ResizeDisabled = 0

Размер окна нельзя изменить, перетаскивая его ручку изменения размера. По-прежнему можно изменить размер окна, используя Window.Size. Этот флаг игнорируется для полноэкранных окон. Устанавливается с помощью Window.Unresizable. Примечание: Этот флаг реализован на Linux (X11), macOS, Windows и во встроенных окнах.

SharpCorners = 8

Window стиль переворачивается, вынуждая острые углы. Примечание: Этот флаг не влияет на встроенные окна. Примечание: Этот флаг установлен только на Windows (11).

Transparent = 3

Фон окна может быть прозрачным. Задается с помощью Window.Transparent. Примечание: Этот флаг не действует, если ProjectSettings.display/window/per_pixel_transparency/allowed или для окна Viewport.TransparentBg установлено значение false. Примечание: Поддержка прозрачности реализована на Linux (X11/Wayland), macOS, Windows и во встроенных окнах.

Window.LayoutDirection

ЗначениеОписание
ApplicationLocale = 1

Автоматическое направление макета, определяемое на основе текущей локали.

Inherited = 0

Автоматическое направление компоновки, определяемое по направлению компоновки родительского окна.

Locale = 1
Ltr = 2

Направление макета слева направо.

Max = 5

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

Rtl = 3

Направление раскладки справа налево.

SystemLocale = 4

Автоматическое направление макета, определяемое на основе локали системы.

Window.ModeEnum

ЗначениеОписание
ExclusiveFullscreen = 4

Однооконный полноэкранный режим. Этот режим менее нагружает систему, но на данном экране одновременно может быть открыто только одно окно (открытие дочернего окна или переключение приложений запускает полноэкранный переход). Полноэкранное окно занимает всю область экрана без рамки или декоративных элементов. Видеорежим дисплея не изменяется. Примечание: Этот режим может не работать с программами для записи экрана. На Android: Это включает режим погружения. На Windows: В зависимости от видеодрайвера, полноэкранный переход может привести к кратковременному потемнению экрана. На macOS: Для отображения запущенного проекта используется новый рабочий стол. Эксклюзивный полноэкранный режим предотвращает отображение Dock и меню при наведении указателя мыши на край экрана. На Linux (X11): Эксклюзивный полноэкранный режим обходит композитора. В Linux (Wayland): Эквивалентно Window.ModeEnum.Fullscreen. Примечание: Независимо от платформы, включение полноэкранного режима изменит размер окна в соответствии с размером монитора. Поэтому убедитесь, что ваш проект поддерживает множественные разрешения при включении полноэкранного режима.

Fullscreen = 3

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

Maximized = 2

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

Minimized = 1

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

Windowed = 0

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

Window.WindowInitialPosition

ЗначениеОписание
Absolute = 0

Начальное положение окна определяется Window.Position.

CenterMainWindowScreen = 2

Начальное положение окна — центр экрана главного окна.

CenterOtherScreen = 3

Начальная позиция окна - это центр экрана Window.CurrentScreen.

CenterPrimaryScreen = 1

Начальное положение окна — центр основного экрана.

CenterScreenWithKeyboardFocus = 5

Начальное положение окна - это центр экрана, содержащий окно с фокусом клавиатуры.

CenterScreenWithMouseFocus = 4

Начальным положением окна является центр экрана, на котором находится указатель мыши.

Свойства темы

Это ключи ресурсов Theme, а не свойства C# класса. Используйте методы GetTheme…() и AddTheme…Override() у Control с соответствующим типом значения.

Ключ и типОписание
title_color
Color

Цвет текста заголовка.

По умолчанию: Color(0.875, 0.875, 0.875, 1)
title_outline_modulate
Color

Цвет контура текста заголовка.

По умолчанию: Color(0, 0, 0, 1)
close_h_offset
int

Горизонтальное смещение положения кнопки закрытия относительно конца строки заголовка в сторону начала строки заголовка.

По умолчанию: 18
close_v_offset
int

Смещение вертикального положения кнопки закрытия относительно нижней части строки заголовка по направлению к верхней части строки заголовка.

По умолчанию: 24
resize_margin
int

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

По умолчанию: 4
title_height
int

Высота строки заголовка.

По умолчанию: 36
title_outline_size
int

Размер контура заголовка.

По умолчанию: 0
title_font
Font

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

title_font_size
int

Размер шрифта заголовка.

close
Texture2D

Значок кнопки закрытия.

close_pressed
Texture2D

Значок кнопки закрытия при нажатии.

embedded_border
StyleBox

Стиль фона, используемый при внедрении Window. Обратите внимание, что он рисуется только под содержимым окна, за исключением заголовка. Для правильных границ и стиля заголовка можно использовать свойства expand_margin_* StyleBoxFlat. Примечание: Фон содержимого не будет виден, если не включен параметр Window.Transparent.

embedded_unfocused_border
StyleBox

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

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

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