godot/doc/classes/Theme.xml

542 lines
26 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="Theme" inherits="Resource" version="4.0">
<brief_description>
Theme for controls.
</brief_description>
<description>
A theme for skinning controls. Controls can be skinned individually, but for complex applications, it's more practical to just create a global theme that defines everything. This theme can be applied to any [Control]; the Control and its children will automatically use it.
Theme resources can alternatively be loaded by writing them in a [code].theme[/code] file, see the documentation for more information.
</description>
<tutorials>
<link title="GUI skinning">https://docs.godotengine.org/en/latest/tutorials/ui/gui_skinning.html</link>
</tutorials>
<methods>
<method name="clear">
<return type="void" />
<description>
Clears all values on the theme.
</description>
</method>
<method name="clear_color">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Clears the [Color] at [code]name[/code] if the theme has [code]theme_type[/code].
</description>
</method>
<method name="clear_constant">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Clears the constant at [code]name[/code] if the theme has [code]theme_type[/code].
</description>
</method>
<method name="clear_font">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Clears the [Font] at [code]name[/code] if the theme has [code]theme_type[/code].
</description>
</method>
<method name="clear_font_size">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Clears the font size [code]name[/code] if the theme has [code]theme_type[/code].
</description>
</method>
<method name="clear_icon">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Clears the icon at [code]name[/code] if the theme has [code]theme_type[/code].
</description>
</method>
<method name="clear_stylebox">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Clears [StyleBox] at [code]name[/code] if the theme has [code]theme_type[/code].
</description>
</method>
<method name="clear_theme_item">
<return type="void" />
<argument index="0" name="data_type" type="int" enum="Theme.DataType" />
<argument index="1" name="name" type="StringName" />
<argument index="2" name="theme_type" type="StringName" />
<description>
Clears the theme item of [code]data_type[/code] at [code]name[/code] if the theme has [code]theme_type[/code].
</description>
</method>
<method name="clear_type_variation">
<return type="void" />
<argument index="0" name="theme_type" type="StringName" />
<description>
Unmarks [code]theme_type[/code] as being a variation of any other type.
</description>
</method>
<method name="get_color" qualifiers="const">
<return type="Color" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Returns the [Color] at [code]name[/code] if the theme has [code]theme_type[/code].
</description>
</method>
<method name="get_color_list" qualifiers="const">
<return type="PackedStringArray" />
<argument index="0" name="theme_type" type="String" />
<description>
Returns all the [Color]s as a [PackedStringArray] filled with each [Color]'s name, for use in [method get_color], if the theme has [code]theme_type[/code].
</description>
</method>
<method name="get_color_type_list" qualifiers="const">
<return type="PackedStringArray" />
<description>
Returns all the [Color] types as a [PackedStringArray] filled with unique type names, for use in [method get_color] and/or [method get_color_list].
</description>
</method>
<method name="get_constant" qualifiers="const">
<return type="int" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Returns the constant at [code]name[/code] if the theme has [code]theme_type[/code].
</description>
</method>
<method name="get_constant_list" qualifiers="const">
<return type="PackedStringArray" />
<argument index="0" name="theme_type" type="String" />
<description>
Returns all the constants as a [PackedStringArray] filled with each constant's name, for use in [method get_constant], if the theme has [code]theme_type[/code].
</description>
</method>
<method name="get_constant_type_list" qualifiers="const">
<return type="PackedStringArray" />
<description>
Returns all the constant types as a [PackedStringArray] filled with unique type names, for use in [method get_constant] and/or [method get_constant_list].
</description>
</method>
<method name="get_font" qualifiers="const">
<return type="Font" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Returns the [Font] at [code]name[/code] if the theme has [code]theme_type[/code].
</description>
</method>
<method name="get_font_list" qualifiers="const">
<return type="PackedStringArray" />
<argument index="0" name="theme_type" type="String" />
<description>
Returns all the [Font]s as a [PackedStringArray] filled with each [Font]'s name, for use in [method get_font], if the theme has [code]theme_type[/code].
</description>
</method>
<method name="get_font_size" qualifiers="const">
<return type="int" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Returns the font size at [code]name[/code] if the theme has [code]theme_type[/code].
</description>
</method>
<method name="get_font_size_list" qualifiers="const">
<return type="PackedStringArray" />
<argument index="0" name="theme_type" type="String" />
<description>
Returns all the font sizes as a [PackedStringArray] filled with each font size name, for use in [method get_font_size], if the theme has [code]theme_type[/code].
</description>
</method>
<method name="get_font_size_type_list" qualifiers="const">
<return type="PackedStringArray" />
<description>
Returns all the font size types as a [PackedStringArray] filled with unique type names, for use in [method get_font_size] and/or [method get_font_size_list].
</description>
</method>
<method name="get_font_type_list" qualifiers="const">
<return type="PackedStringArray" />
<description>
Returns all the [Font] types as a [PackedStringArray] filled with unique type names, for use in [method get_font] and/or [method get_font_list].
</description>
</method>
<method name="get_icon" qualifiers="const">
<return type="Texture2D" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Returns the icon [Texture2D] at [code]name[/code] if the theme has [code]theme_type[/code].
</description>
</method>
<method name="get_icon_list" qualifiers="const">
<return type="PackedStringArray" />
<argument index="0" name="theme_type" type="String" />
<description>
Returns all the icons as a [PackedStringArray] filled with each [Texture2D]'s name, for use in [method get_icon], if the theme has [code]theme_type[/code].
</description>
</method>
<method name="get_icon_type_list" qualifiers="const">
<return type="PackedStringArray" />
<description>
Returns all the icon types as a [PackedStringArray] filled with unique type names, for use in [method get_icon] and/or [method get_icon_list].
</description>
</method>
<method name="get_stylebox" qualifiers="const">
<return type="StyleBox" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Returns the [StyleBox] at [code]name[/code] if the theme has [code]theme_type[/code].
Valid [code]name[/code]s may be found using [method get_stylebox_list]. Valid [code]theme_type[/code]s may be found using [method get_stylebox_type_list].
</description>
</method>
<method name="get_stylebox_list" qualifiers="const">
<return type="PackedStringArray" />
<argument index="0" name="theme_type" type="String" />
<description>
Returns all the [StyleBox]s as a [PackedStringArray] filled with each [StyleBox]'s name, for use in [method get_stylebox], if the theme has [code]theme_type[/code].
Valid [code]theme_type[/code]s may be found using [method get_stylebox_type_list].
</description>
</method>
<method name="get_stylebox_type_list" qualifiers="const">
<return type="PackedStringArray" />
<description>
Returns all the [StyleBox] types as a [PackedStringArray] filled with unique type names, for use in [method get_stylebox] and/or [method get_stylebox_list].
</description>
</method>
<method name="get_theme_item" qualifiers="const">
<return type="Variant" />
<argument index="0" name="data_type" type="int" enum="Theme.DataType" />
<argument index="1" name="name" type="StringName" />
<argument index="2" name="theme_type" type="StringName" />
<description>
Returns the theme item of [code]data_type[/code] at [code]name[/code] if the theme has [code]theme_type[/code].
Valid [code]name[/code]s may be found using [method get_theme_item_list] or a data type specific method. Valid [code]theme_type[/code]s may be found using [method get_theme_item_type_list] or a data type specific method.
</description>
</method>
<method name="get_theme_item_list" qualifiers="const">
<return type="PackedStringArray" />
<argument index="0" name="data_type" type="int" enum="Theme.DataType" />
<argument index="1" name="theme_type" type="String" />
<description>
Returns all the theme items of [code]data_type[/code] as a [PackedStringArray] filled with each theme items's name, for use in [method get_theme_item] or a data type specific method, if the theme has [code]theme_type[/code].
Valid [code]theme_type[/code]s may be found using [method get_theme_item_type_list] or a data type specific method.
</description>
</method>
<method name="get_theme_item_type_list" qualifiers="const">
<return type="PackedStringArray" />
<argument index="0" name="data_type" type="int" enum="Theme.DataType" />
<description>
Returns all the theme items of [code]data_type[/code] types as a [PackedStringArray] filled with unique type names, for use in [method get_theme_item], [method get_theme_item_list] or data type specific methods.
</description>
</method>
<method name="get_type_list" qualifiers="const">
<return type="PackedStringArray" />
<description>
Returns all the theme types as a [PackedStringArray] filled with unique type names, for use in other [code]get_*[/code] functions of this theme.
</description>
</method>
<method name="get_type_variation_base" qualifiers="const">
<return type="StringName" />
<argument index="0" name="theme_type" type="StringName" />
<description>
Returns the base theme type if [code]theme_type[/code] is a valid variation type. Returns an empty string otherwise.
</description>
</method>
<method name="get_type_variation_list" qualifiers="const">
<return type="PackedStringArray" />
<argument index="0" name="base_type" type="StringName" />
<description>
Returns a list of all variation for the given [code]base_type[/code].
</description>
</method>
<method name="has_color" qualifiers="const">
<return type="bool" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Returns [code]true[/code] if [Color] 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_constant" qualifiers="const">
<return type="bool" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Returns [code]true[/code] if constant 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_default_base_scale" qualifiers="const">
<return type="bool" />
<description>
Returns [code]true[/code] if this theme has a valid [member default_base_scale] value.
</description>
</method>
<method name="has_default_font" qualifiers="const">
<return type="bool" />
<description>
Returns [code]true[/code] if this theme has a valid [member default_font] value.
</description>
</method>
<method name="has_default_font_size" qualifiers="const">
<return type="bool" />
<description>
Returns [code]true[/code] if this theme has a valid [member default_font_size] value.
</description>
</method>
<method name="has_font" qualifiers="const">
<return type="bool" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<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_font_size" qualifiers="const">
<return type="bool" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<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_icon" qualifiers="const">
<return type="bool" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Returns [code]true[/code] if icon [Texture2D] 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_stylebox" qualifiers="const">
<return type="bool" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<description>
Returns [code]true[/code] if [StyleBox] 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_item" qualifiers="const">
<return type="bool" />
<argument index="0" name="data_type" type="int" enum="Theme.DataType" />
<argument index="1" name="name" type="StringName" />
<argument index="2" name="theme_type" type="StringName" />
<description>
Returns [code]true[/code] if a theme item of [code]data_type[/code] 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="is_type_variation" qualifiers="const">
<return type="bool" />
<argument index="0" name="theme_type" type="StringName" />
<argument index="1" name="base_type" type="StringName" />
<description>
Returns [code]true[/code] if [code]theme_type[/code] is marked as a variation of [code]base_type[/code] in this theme.
</description>
</method>
<method name="merge_with">
<return type="void" />
<argument index="0" name="other" type="Theme" />
<description>
Adds missing and overrides existing definitions with values from the [code]other[/code] [Theme].
[b]Note:[/b] This modifies the current theme. If you want to merge two themes together without modifying either one, create a new empty theme and merge the other two into it one after another.
</description>
</method>
<method name="rename_color">
<return type="void" />
<argument index="0" name="old_name" type="StringName" />
<argument index="1" name="name" type="StringName" />
<argument index="2" name="theme_type" type="StringName" />
<description>
Renames the [Color] at [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails.
</description>
</method>
<method name="rename_constant">
<return type="void" />
<argument index="0" name="old_name" type="StringName" />
<argument index="1" name="name" type="StringName" />
<argument index="2" name="theme_type" type="StringName" />
<description>
Renames the constant at [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails.
</description>
</method>
<method name="rename_font">
<return type="void" />
<argument index="0" name="old_name" type="StringName" />
<argument index="1" name="name" type="StringName" />
<argument index="2" name="theme_type" type="StringName" />
<description>
Renames the [Font] at [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails.
</description>
</method>
<method name="rename_font_size">
<return type="void" />
<argument index="0" name="old_name" type="StringName" />
<argument index="1" name="name" type="StringName" />
<argument index="2" name="theme_type" type="StringName" />
<description>
Renames the font size [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails.
</description>
</method>
<method name="rename_icon">
<return type="void" />
<argument index="0" name="old_name" type="StringName" />
<argument index="1" name="name" type="StringName" />
<argument index="2" name="theme_type" type="StringName" />
<description>
Renames the icon at [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails.
</description>
</method>
<method name="rename_stylebox">
<return type="void" />
<argument index="0" name="old_name" type="StringName" />
<argument index="1" name="name" type="StringName" />
<argument index="2" name="theme_type" type="StringName" />
<description>
Renames [StyleBox] at [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails.
</description>
</method>
<method name="rename_theme_item">
<return type="void" />
<argument index="0" name="data_type" type="int" enum="Theme.DataType" />
<argument index="1" name="old_name" type="StringName" />
<argument index="2" name="name" type="StringName" />
<argument index="3" name="theme_type" type="StringName" />
<description>
Renames the theme item of [code]data_type[/code] at [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails.
</description>
</method>
<method name="set_color">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<argument index="2" name="color" type="Color" />
<description>
Sets the theme's [Color] to [code]color[/code] at [code]name[/code] in [code]theme_type[/code].
Creates [code]theme_type[/code] if the theme does not have it.
</description>
</method>
<method name="set_constant">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<argument index="2" name="constant" type="int" />
<description>
Sets the theme's constant to [code]constant[/code] at [code]name[/code] in [code]theme_type[/code].
Creates [code]theme_type[/code] if the theme does not have it.
</description>
</method>
<method name="set_font">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<argument index="2" name="font" type="Font" />
<description>
Sets the theme's [Font] to [code]font[/code] at [code]name[/code] in [code]theme_type[/code].
Creates [code]theme_type[/code] if the theme does not have it.
</description>
</method>
<method name="set_font_size">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<argument index="2" name="font_size" type="int" />
<description>
Sets the theme's font size to [code]font_size[/code] at [code]name[/code] in [code]theme_type[/code].
Creates [code]theme_type[/code] if the theme does not have it.
</description>
</method>
<method name="set_icon">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<argument index="2" name="texture" type="Texture2D" />
<description>
Sets the theme's icon [Texture2D] to [code]texture[/code] at [code]name[/code] in [code]theme_type[/code].
Creates [code]theme_type[/code] if the theme does not have it.
</description>
</method>
<method name="set_stylebox">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="theme_type" type="StringName" />
<argument index="2" name="texture" type="StyleBox" />
<description>
Sets theme's [StyleBox] to [code]stylebox[/code] at [code]name[/code] in [code]theme_type[/code].
Creates [code]theme_type[/code] if the theme does not have it.
</description>
</method>
<method name="set_theme_item">
<return type="void" />
<argument index="0" name="data_type" type="int" enum="Theme.DataType" />
<argument index="1" name="name" type="StringName" />
<argument index="2" name="theme_type" type="StringName" />
<argument index="3" name="value" type="Variant" />
<description>
Sets the theme item of [code]data_type[/code] to [code]value[/code] at [code]name[/code] in [code]theme_type[/code].
Does nothing if the [code]value[/code] type does not match [code]data_type[/code].
Creates [code]theme_type[/code] if the theme does not have it.
</description>
</method>
<method name="set_type_variation">
<return type="void" />
<argument index="0" name="theme_type" type="StringName" />
<argument index="1" name="base_type" type="StringName" />
<description>
Marks [code]theme_type[/code] as being a variation of [code]base_type[/code].
This adds [code]theme_type[/code] as a suggested option for [member Control.theme_type_variation] on a [Control] that is of the [code]base_type[/code] class.
Variations can also be nested, i.e. [code]base_type[/code] can be another variation. If a chain of variations ends with a [code]base_type[/code] matching a class of a [Control], the whole chain is going to be suggested as options.
[b]Note:[/b] Suggestions only show up if this [Theme] is set as the project default theme. See [member ProjectSettings.gui/theme/custom].
</description>
</method>
</methods>
<members>
<member name="default_base_scale" type="float" setter="set_default_base_scale" getter="get_default_base_scale" default="0.0">
The default base scale factor of this [Theme] resource. Used by some controls to scale their visual properties based on a global scale factor. If this value is set to [code]0.0[/code], the global scale factor is used.
Use [method has_default_base_scale] to check if this value is valid.
</member>
<member name="default_font" type="Font" setter="set_default_font" getter="get_default_font">
The default font of this [Theme] resource. Used as a fallback value for font items defined in this theme, but having invalid values. If this value is also invalid, the global default value is used.
Use [method has_default_font] to check if this value is valid.
</member>
<member name="default_font_size" type="int" setter="set_default_font_size" getter="get_default_font_size" default="-1">
The default font size of this [Theme] resource. Used as a fallback value for font size items defined in this theme, but having invalid values. If this value is set to [code]-1[/code], the global default value is used.
Use [method has_default_font_size] to check if this value is valid.
</member>
</members>
<constants>
<constant name="DATA_TYPE_COLOR" value="0" enum="DataType">
Theme's [Color] item type.
</constant>
<constant name="DATA_TYPE_CONSTANT" value="1" enum="DataType">
Theme's constant item type.
</constant>
<constant name="DATA_TYPE_FONT" value="2" enum="DataType">
Theme's [Font] item type.
</constant>
<constant name="DATA_TYPE_FONT_SIZE" value="3" enum="DataType">
Theme's font size item type.
</constant>
<constant name="DATA_TYPE_ICON" value="4" enum="DataType">
Theme's icon [Texture2D] item type.
</constant>
<constant name="DATA_TYPE_STYLEBOX" value="5" enum="DataType">
Theme's [StyleBox] item type.
</constant>
<constant name="DATA_TYPE_MAX" value="6" enum="DataType">
Maximum value for the DataType enum.
</constant>
</constants>
</class>