mirror of
https://github.com/godotengine/godot.git
synced 2024-12-15 10:12:40 +08:00
84a69d7429
The new default project theme uses StyleBoxFlat extensively for a more modern design and better scalability to multiple resolutions. SVG icons are now used in place of PNG icons. While this does not allow for true vector-based icon drawing (icons are still rasterized at load-time), this makes the design work easier for contributors and opens the door to vector drawing in the future (e.g. with polygons or SDFs). Like for editor icons, the SVG header file is now built automatically when a SVG file is changed. This removing the need for running `make_header.py` manually (TODO). The "Use Hidpi" project setting has been removed in favor of a "Default Theme Scale" project setting, which allows creating the default theme at a higher/lower scale than the default. This can be used when designing GUIs with a high base resolution to ensure crisp visuals. Co-authored-by: Yuri Sizov <yuris@humnom.net>
477 lines
18 KiB
XML
477 lines
18 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="Window" inherits="Viewport" version="4.0">
|
|
<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="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>
|
|
</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="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_MAX" value="5" 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 control 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_ofs" data_type="constant" type="int" default="18">
|
|
</theme_item>
|
|
<theme_item name="close_v_ofs" 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>
|