496 lines
19 KiB
XML
496 lines
19 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="Window" inherits="Viewport" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
Base class for all windows.
|
|
</brief_description>
|
|
<description>
|
|
A node that creates a window.
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="can_draw" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
Returns whether the window is being drawn to the screen.
|
|
</description>
|
|
</method>
|
|
<method name="child_controls_changed">
|
|
<return type="void" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="get_contents_minimum_size" qualifiers="const">
|
|
<return type="Vector2" />
|
|
<description>
|
|
Returns the combined minimum size from the child [Control] nodes of the window.
|
|
</description>
|
|
</method>
|
|
<method name="get_flag" qualifiers="const">
|
|
<return type="bool" />
|
|
<argument index="0" name="flag" type="int" enum="Window.Flags" />
|
|
<description>
|
|
Returns [code]true[/code] if the flag is set.
|
|
</description>
|
|
</method>
|
|
<method name="get_layout_direction" qualifiers="const">
|
|
<return type="int" enum="Window.LayoutDirection" />
|
|
<description>
|
|
Returns layout direction and text writing direction.
|
|
</description>
|
|
</method>
|
|
<method name="get_real_size" qualifiers="const">
|
|
<return type="Vector2i" />
|
|
<description>
|
|
Returns the window's size including its border.
|
|
</description>
|
|
</method>
|
|
<method name="get_theme_color" qualifiers="const">
|
|
<return type="Color" />
|
|
<argument index="0" name="name" type="StringName" />
|
|
<argument index="1" name="theme_type" type="StringName" default="""" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="get_theme_constant" qualifiers="const">
|
|
<return type="int" />
|
|
<argument index="0" name="name" type="StringName" />
|
|
<argument index="1" name="theme_type" type="StringName" default="""" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="get_theme_default_base_scale" qualifiers="const">
|
|
<return type="float" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="get_theme_default_font" qualifiers="const">
|
|
<return type="Font" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="get_theme_default_font_size" qualifiers="const">
|
|
<return type="int" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="get_theme_font" qualifiers="const">
|
|
<return type="Font" />
|
|
<argument index="0" name="name" type="StringName" />
|
|
<argument index="1" name="theme_type" type="StringName" default="""" />
|
|
<description>
|
|
Returns the [Font] at [code]name[/code] if the theme has [code]theme_type[/code].
|
|
</description>
|
|
</method>
|
|
<method name="get_theme_font_size" qualifiers="const">
|
|
<return type="int" />
|
|
<argument index="0" name="name" type="StringName" />
|
|
<argument index="1" name="theme_type" type="StringName" default="""" />
|
|
<description>
|
|
Returns the font size at [code]name[/code] if the theme has [code]theme_type[/code].
|
|
</description>
|
|
</method>
|
|
<method name="get_theme_icon" qualifiers="const">
|
|
<return type="Texture2D" />
|
|
<argument index="0" name="name" type="StringName" />
|
|
<argument index="1" name="theme_type" type="StringName" default="""" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="get_theme_stylebox" qualifiers="const">
|
|
<return type="StyleBox" />
|
|
<argument index="0" name="name" type="StringName" />
|
|
<argument index="1" name="theme_type" type="StringName" default="""" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="grab_focus">
|
|
<return type="void" />
|
|
<description>
|
|
Causes the window to grab focus, allowing it to receive user input.
|
|
</description>
|
|
</method>
|
|
<method name="has_focus" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if the window is focused.
|
|
</description>
|
|
</method>
|
|
<method name="has_theme_color" qualifiers="const">
|
|
<return type="bool" />
|
|
<argument index="0" name="name" type="StringName" />
|
|
<argument index="1" name="theme_type" type="StringName" default="""" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="has_theme_constant" qualifiers="const">
|
|
<return type="bool" />
|
|
<argument index="0" name="name" type="StringName" />
|
|
<argument index="1" name="theme_type" type="StringName" default="""" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="has_theme_font" qualifiers="const">
|
|
<return type="bool" />
|
|
<argument index="0" name="name" type="StringName" />
|
|
<argument index="1" name="theme_type" type="StringName" default="""" />
|
|
<description>
|
|
Returns [code]true[/code] if [Font] with [code]name[/code] is in [code]theme_type[/code].
|
|
Returns [code]false[/code] if the theme does not have [code]theme_type[/code].
|
|
</description>
|
|
</method>
|
|
<method name="has_theme_font_size" qualifiers="const">
|
|
<return type="bool" />
|
|
<argument index="0" name="name" type="StringName" />
|
|
<argument index="1" name="theme_type" type="StringName" default="""" />
|
|
<description>
|
|
Returns [code]true[/code] if font size with [code]name[/code] is in [code]theme_type[/code].
|
|
Returns [code]false[/code] if the theme does not have [code]theme_type[/code].
|
|
</description>
|
|
</method>
|
|
<method name="has_theme_icon" qualifiers="const">
|
|
<return type="bool" />
|
|
<argument index="0" name="name" type="StringName" />
|
|
<argument index="1" name="theme_type" type="StringName" default="""" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="has_theme_stylebox" qualifiers="const">
|
|
<return type="bool" />
|
|
<argument index="0" name="name" type="StringName" />
|
|
<argument index="1" name="theme_type" type="StringName" default="""" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="hide">
|
|
<return type="void" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="is_embedded" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if the window is currently embedded in another window.
|
|
</description>
|
|
</method>
|
|
<method name="is_layout_rtl" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if layout is right-to-left.
|
|
</description>
|
|
</method>
|
|
<method name="is_maximize_allowed" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="is_using_font_oversampling" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="move_to_foreground">
|
|
<return type="void" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="popup">
|
|
<return type="void" />
|
|
<argument index="0" name="rect" type="Rect2i" default="Rect2i(0, 0, 0, 0)" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="popup_centered">
|
|
<return type="void" />
|
|
<argument index="0" name="minsize" type="Vector2i" default="Vector2i(0, 0)" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="popup_centered_clamped">
|
|
<return type="void" />
|
|
<argument index="0" name="minsize" type="Vector2i" default="Vector2i(0, 0)" />
|
|
<argument index="1" name="fallback_ratio" type="float" default="0.75" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="popup_centered_ratio">
|
|
<return type="void" />
|
|
<argument index="0" name="ratio" type="float" default="0.8" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="popup_on_parent">
|
|
<return type="void" />
|
|
<argument index="0" name="parent_rect" type="Rect2i" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="request_attention">
|
|
<return type="void" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="reset_size">
|
|
<return type="void" />
|
|
<description>
|
|
Resets the size to the minimum size, which is the max of [member min_size] and (if [member wrap_controls] is enabled) [method get_contents_minimum_size]. This is equivalent to calling [code]set_size(Vector2i())[/code] (or any size below the minimum).
|
|
</description>
|
|
</method>
|
|
<method name="set_flag">
|
|
<return type="void" />
|
|
<argument index="0" name="flag" type="int" enum="Window.Flags" />
|
|
<argument index="1" name="enabled" type="bool" />
|
|
<description>
|
|
Sets a specified window flag.
|
|
</description>
|
|
</method>
|
|
<method name="set_ime_active">
|
|
<return type="void" />
|
|
<argument index="0" name="active" type="bool" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="set_ime_position">
|
|
<return type="void" />
|
|
<argument index="0" name="position" type="Vector2i" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="set_layout_direction">
|
|
<return type="void" />
|
|
<argument index="0" name="direction" type="int" enum="Window.LayoutDirection" />
|
|
<description>
|
|
Sets layout direction and text writing direction. Right-to-left layouts are necessary for certain languages (e.g. Arabic and Hebrew).
|
|
</description>
|
|
</method>
|
|
<method name="set_use_font_oversampling">
|
|
<return type="void" />
|
|
<argument index="0" name="enable" type="bool" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="show">
|
|
<return type="void" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="always_on_top" type="bool" setter="set_flag" getter="get_flag" default="false">
|
|
If [code]true[/code], the window will be on top of all other windows.
|
|
</member>
|
|
<member name="auto_translate" type="bool" setter="set_auto_translate" getter="is_auto_translating" default="true">
|
|
Toggles if any text should automatically change to its translated version depending on the current locale.
|
|
</member>
|
|
<member name="borderless" type="bool" setter="set_flag" getter="get_flag" default="false">
|
|
If [code]true[/code], the window will have no borders.
|
|
</member>
|
|
<member name="content_scale_aspect" type="int" setter="set_content_scale_aspect" getter="get_content_scale_aspect" enum="Window.ContentScaleAspect" default="0">
|
|
</member>
|
|
<member name="content_scale_factor" type="float" setter="set_content_scale_factor" getter="get_content_scale_factor" default="1.0">
|
|
</member>
|
|
<member name="content_scale_mode" type="int" setter="set_content_scale_mode" getter="get_content_scale_mode" enum="Window.ContentScaleMode" default="0">
|
|
</member>
|
|
<member name="content_scale_size" type="Vector2i" setter="set_content_scale_size" getter="get_content_scale_size" default="Vector2i(0, 0)">
|
|
</member>
|
|
<member name="current_screen" type="int" setter="set_current_screen" getter="get_current_screen" default="0">
|
|
The screen the window is currently on.
|
|
</member>
|
|
<member name="exclusive" type="bool" setter="set_exclusive" getter="is_exclusive" default="false">
|
|
</member>
|
|
<member name="max_size" type="Vector2i" setter="set_max_size" getter="get_max_size" default="Vector2i(0, 0)">
|
|
</member>
|
|
<member name="min_size" type="Vector2i" setter="set_min_size" getter="get_min_size" default="Vector2i(0, 0)">
|
|
</member>
|
|
<member name="mode" type="int" setter="set_mode" getter="get_mode" enum="Window.Mode" default="0">
|
|
Set's the window's current mode.
|
|
[b]Note:[/b] Fullscreen mode is not exclusive fullscreen on Windows and Linux.
|
|
</member>
|
|
<member name="popup_window" type="bool" setter="set_flag" getter="get_flag" default="false">
|
|
</member>
|
|
<member name="position" type="Vector2i" setter="set_position" getter="get_position" default="Vector2i(0, 0)">
|
|
The window's position in pixels.
|
|
</member>
|
|
<member name="size" type="Vector2i" setter="set_size" getter="get_size" default="Vector2i(100, 100)">
|
|
The window's size in pixels.
|
|
</member>
|
|
<member name="theme" type="Theme" setter="set_theme" getter="get_theme">
|
|
</member>
|
|
<member name="theme_type_variation" type="StringName" setter="set_theme_type_variation" getter="get_theme_type_variation" default="&""">
|
|
</member>
|
|
<member name="title" type="String" setter="set_title" getter="get_title" default="""">
|
|
The window's title.
|
|
</member>
|
|
<member name="transient" type="bool" setter="set_transient" getter="is_transient" default="false">
|
|
</member>
|
|
<member name="transparent" type="bool" setter="set_flag" getter="get_flag" default="false">
|
|
</member>
|
|
<member name="unfocusable" type="bool" setter="set_flag" getter="get_flag" default="false">
|
|
</member>
|
|
<member name="unresizable" type="bool" setter="set_flag" getter="get_flag" default="false">
|
|
If [code]true[/code], the window can't be resized.
|
|
</member>
|
|
<member name="visible" type="bool" setter="set_visible" getter="is_visible" default="true">
|
|
If [code]true[/code], the window is visible.
|
|
</member>
|
|
<member name="wrap_controls" type="bool" setter="set_wrap_controls" getter="is_wrapping_controls" default="false">
|
|
</member>
|
|
</members>
|
|
<signals>
|
|
<signal name="about_to_popup">
|
|
<description>
|
|
</description>
|
|
</signal>
|
|
<signal name="close_requested">
|
|
<description>
|
|
</description>
|
|
</signal>
|
|
<signal name="files_dropped">
|
|
<argument index="0" name="files" type="PackedStringArray" />
|
|
<description>
|
|
Emitted when files are dragged from the OS file manager and dropped in the game window. The argument is a list of file paths.
|
|
Note that this method only works with non-embedded windows, i.e. the main window and [Window]-derived nodes when [member Viewport.gui_embed_subwindows] is disabled in the main viewport.
|
|
Example usage:
|
|
[codeblock]
|
|
func _ready():
|
|
get_viewport().files_dropped.connect(on_files_dropped)
|
|
|
|
func on_files_dropped(files):
|
|
print(files)
|
|
[/codeblock]
|
|
</description>
|
|
</signal>
|
|
<signal name="focus_entered">
|
|
<description>
|
|
</description>
|
|
</signal>
|
|
<signal name="focus_exited">
|
|
<description>
|
|
</description>
|
|
</signal>
|
|
<signal name="go_back_requested">
|
|
<description>
|
|
</description>
|
|
</signal>
|
|
<signal name="mouse_entered">
|
|
<description>
|
|
</description>
|
|
</signal>
|
|
<signal name="mouse_exited">
|
|
<description>
|
|
</description>
|
|
</signal>
|
|
<signal name="theme_changed">
|
|
<description>
|
|
</description>
|
|
</signal>
|
|
<signal name="visibility_changed">
|
|
<description>
|
|
</description>
|
|
</signal>
|
|
<signal name="window_input">
|
|
<argument index="0" name="event" type="InputEvent" />
|
|
<description>
|
|
</description>
|
|
</signal>
|
|
</signals>
|
|
<constants>
|
|
<constant name="NOTIFICATION_VISIBILITY_CHANGED" value="30">
|
|
</constant>
|
|
<constant name="MODE_WINDOWED" value="0" enum="Mode">
|
|
Windowed mode.
|
|
</constant>
|
|
<constant name="MODE_MINIMIZED" value="1" enum="Mode">
|
|
Minimized window mode.
|
|
</constant>
|
|
<constant name="MODE_MAXIMIZED" value="2" enum="Mode">
|
|
Maximized window mode.
|
|
</constant>
|
|
<constant name="MODE_FULLSCREEN" value="3" enum="Mode">
|
|
Fullscreen window mode. Note that this is not [i]exclusive[/i] fullscreen. On Windows and Linux, a borderless window is used to emulate fullscreen. On macOS, a new desktop is used to display the running project.
|
|
Regardless of the platform, enabling fullscreen will change the window size to match the monitor's size. Therefore, make sure your project supports [url=$DOCS_URL/tutorials/rendering/multiple_resolutions.html]multiple resolutions[/url] when enabling fullscreen mode.
|
|
</constant>
|
|
<constant name="MODE_EXCLUSIVE_FULLSCREEN" value="4" enum="Mode">
|
|
Exclusive fullscreen window mode. This mode is implemented on Windows only. On other platforms, it is equivalent to [constant MODE_FULLSCREEN].
|
|
Only one window in exclusive fullscreen mode can be visible on a given screen at a time. If multiple windows are in exclusive fullscreen mode for the same screen, the last one being set to this mode takes precedence.
|
|
Regardless of the platform, enabling fullscreen will change the window size to match the monitor's size. Therefore, make sure your project supports [url=$DOCS_URL/tutorials/rendering/multiple_resolutions.html]multiple resolutions[/url] when enabling fullscreen mode.
|
|
</constant>
|
|
<constant name="FLAG_RESIZE_DISABLED" value="0" enum="Flags">
|
|
The window's ability to be resized.
|
|
</constant>
|
|
<constant name="FLAG_BORDERLESS" value="1" enum="Flags">
|
|
Borderless window.
|
|
</constant>
|
|
<constant name="FLAG_ALWAYS_ON_TOP" value="2" enum="Flags">
|
|
Flag for making the window always on top of all other windows.
|
|
</constant>
|
|
<constant name="FLAG_TRANSPARENT" value="3" enum="Flags">
|
|
</constant>
|
|
<constant name="FLAG_NO_FOCUS" value="4" enum="Flags">
|
|
</constant>
|
|
<constant name="FLAG_POPUP" value="5" enum="Flags">
|
|
</constant>
|
|
<constant name="FLAG_MAX" value="6" enum="Flags">
|
|
</constant>
|
|
<constant name="CONTENT_SCALE_MODE_DISABLED" value="0" enum="ContentScaleMode">
|
|
</constant>
|
|
<constant name="CONTENT_SCALE_MODE_CANVAS_ITEMS" value="1" enum="ContentScaleMode">
|
|
</constant>
|
|
<constant name="CONTENT_SCALE_MODE_VIEWPORT" value="2" enum="ContentScaleMode">
|
|
</constant>
|
|
<constant name="CONTENT_SCALE_ASPECT_IGNORE" value="0" enum="ContentScaleAspect">
|
|
</constant>
|
|
<constant name="CONTENT_SCALE_ASPECT_KEEP" value="1" enum="ContentScaleAspect">
|
|
</constant>
|
|
<constant name="CONTENT_SCALE_ASPECT_KEEP_WIDTH" value="2" enum="ContentScaleAspect">
|
|
</constant>
|
|
<constant name="CONTENT_SCALE_ASPECT_KEEP_HEIGHT" value="3" enum="ContentScaleAspect">
|
|
</constant>
|
|
<constant name="CONTENT_SCALE_ASPECT_EXPAND" value="4" enum="ContentScaleAspect">
|
|
</constant>
|
|
<constant name="LAYOUT_DIRECTION_INHERITED" value="0" enum="LayoutDirection">
|
|
Automatic layout direction, determined from the parent window layout direction.
|
|
</constant>
|
|
<constant name="LAYOUT_DIRECTION_LOCALE" value="1" enum="LayoutDirection">
|
|
Automatic layout direction, determined from the current locale.
|
|
</constant>
|
|
<constant name="LAYOUT_DIRECTION_LTR" value="2" enum="LayoutDirection">
|
|
Left-to-right layout direction.
|
|
</constant>
|
|
<constant name="LAYOUT_DIRECTION_RTL" value="3" enum="LayoutDirection">
|
|
Right-to-left layout direction.
|
|
</constant>
|
|
</constants>
|
|
<theme_items>
|
|
<theme_item name="title_color" data_type="color" type="Color" default="Color(0.875, 0.875, 0.875, 1)">
|
|
</theme_item>
|
|
<theme_item name="title_outline_modulate" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
|
|
The color of the title outline.
|
|
</theme_item>
|
|
<theme_item name="close_h_offset" data_type="constant" type="int" default="18">
|
|
</theme_item>
|
|
<theme_item name="close_v_offset" data_type="constant" type="int" default="24">
|
|
</theme_item>
|
|
<theme_item name="resize_margin" data_type="constant" type="int" default="4">
|
|
</theme_item>
|
|
<theme_item name="scaleborder_size" data_type="constant" type="int" default="4">
|
|
</theme_item>
|
|
<theme_item name="title_height" data_type="constant" type="int" default="36">
|
|
</theme_item>
|
|
<theme_item name="title_outline_size" data_type="constant" type="int" default="0">
|
|
The size of the title outline.
|
|
</theme_item>
|
|
<theme_item name="title_font" data_type="font" type="Font">
|
|
</theme_item>
|
|
<theme_item name="title_font_size" data_type="font_size" type="int">
|
|
The size of the title font.
|
|
</theme_item>
|
|
<theme_item name="close" data_type="icon" type="Texture2D">
|
|
</theme_item>
|
|
<theme_item name="close_pressed" data_type="icon" type="Texture2D">
|
|
</theme_item>
|
|
<theme_item name="embedded_border" data_type="style" type="StyleBox">
|
|
</theme_item>
|
|
</theme_items>
|
|
</class>
|