2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 10:08:05 +02:00
<class name= "TextureButton" inherits= "BaseButton" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-12 22:42:36 +02:00
<brief_description >
2017-10-07 09:09:21 +02:00
Texture-based button. Supports Pressed, Hover, Disabled and Focused states.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2019-06-22 01:04:47 +02:00
[TextureButton] has the same functionality as [Button], except it uses sprites instead of Godot's [Theme] resource. It is faster to create, but it doesn't support localization like more complex [Control]s.
The "normal" state must contain a texture ([member texture_normal]); other textures are optional.
2020-09-23 23:34:28 +02:00
See also [BaseButton] which contains common properties and methods associated with this node.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
2024-03-25 02:20:59 +01:00
<link title= "3D Voxel Demo" > https://godotengine.org/asset-library/asset/2755</link>
2017-09-12 22:42:36 +02:00
</tutorials>
<members >
2019-10-03 11:02:51 +02:00
<member name= "flip_h" type= "bool" setter= "set_flip_h" getter= "is_flipped_h" default= "false" >
If [code]true[/code], texture is flipped horizontally.
</member>
<member name= "flip_v" type= "bool" setter= "set_flip_v" getter= "is_flipped_v" default= "false" >
If [code]true[/code], texture is flipped vertically.
</member>
2022-02-05 02:11:32 +01:00
<member name= "ignore_texture_size" type= "bool" setter= "set_ignore_texture_size" getter= "get_ignore_texture_size" default= "false" >
If [code]true[/code], the size of the texture won't be considered for minimum size calculation, so the [TextureButton] can be shrunk down past the texture size.
</member>
<member name= "stretch_mode" type= "int" setter= "set_stretch_mode" getter= "get_stretch_mode" enum= "TextureButton.StretchMode" default= "2" >
Controls the texture's behavior when you resize the node's bounding rectangle. See the [enum StretchMode] constants for available options.
2017-09-12 22:42:36 +02:00
</member>
2019-07-15 20:42:47 +02:00
<member name= "texture_click_mask" type= "BitMap" setter= "set_click_mask" getter= "get_click_mask" >
2019-01-07 10:02:04 +01:00
Pure black and white [BitMap] image to use for click detection. On the mask, white pixels represent the button's clickable area. Use it to create buttons with curved shapes.
2017-09-12 22:42:36 +02:00
</member>
2022-11-07 09:09:13 +01:00
<member name= "texture_disabled" type= "Texture2D" setter= "set_texture_disabled" getter= "get_texture_disabled" >
2017-10-07 09:09:21 +02:00
Texture to display when the node is disabled. See [member BaseButton.disabled].
2017-09-12 22:42:36 +02:00
</member>
2022-11-07 09:09:13 +01:00
<member name= "texture_focused" type= "Texture2D" setter= "set_texture_focused" getter= "get_texture_focused" >
2021-11-20 17:43:34 +01:00
Texture to display when the node has mouse or keyboard focus. [member texture_focused] is displayed [i]over[/i] the base texture, so a partially transparent texture should be used to ensure the base texture remains visible. A texture that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a fully transparent texture of any size. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
2017-09-12 22:42:36 +02:00
</member>
2022-11-07 09:09:13 +01:00
<member name= "texture_hover" type= "Texture2D" setter= "set_texture_hover" getter= "get_texture_hover" >
2017-10-07 09:09:21 +02:00
Texture to display when the mouse hovers the node.
2017-09-12 22:42:36 +02:00
</member>
2022-11-07 09:09:13 +01:00
<member name= "texture_normal" type= "Texture2D" setter= "set_texture_normal" getter= "get_texture_normal" >
2023-02-24 15:46:38 +01:00
Texture to display by default, when the node is [b]not[/b] in the disabled, hover or pressed state. This texture is still displayed in the focused state, with [member texture_focused] drawn on top.
2017-09-12 22:42:36 +02:00
</member>
2022-11-07 09:09:13 +01:00
<member name= "texture_pressed" type= "Texture2D" setter= "set_texture_pressed" getter= "get_texture_pressed" >
2019-06-22 01:04:47 +02:00
Texture to display on mouse down over the node, if the node has keyboard focus and the player presses the Enter key or if the player presses the [member BaseButton.shortcut] key.
2017-09-12 22:42:36 +02:00
</member>
</members>
<constants >
2017-11-24 23:16:30 +01:00
<constant name= "STRETCH_SCALE" value= "0" enum= "StretchMode" >
2017-10-07 09:09:21 +02:00
Scale to fit the node's bounding rectangle.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "STRETCH_TILE" value= "1" enum= "StretchMode" >
2017-10-07 09:09:21 +02:00
Tile inside the node's bounding rectangle.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "STRETCH_KEEP" value= "2" enum= "StretchMode" >
2017-10-07 09:09:21 +02:00
The texture keeps its original size and stays in the bounding rectangle's top-left corner.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "STRETCH_KEEP_CENTERED" value= "3" enum= "StretchMode" >
2017-10-07 09:09:21 +02:00
The texture keeps its original size and stays centered in the node's bounding rectangle.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "STRETCH_KEEP_ASPECT" value= "4" enum= "StretchMode" >
2017-10-07 09:09:21 +02:00
Scale the texture to fit the node's bounding rectangle, but maintain the texture's aspect ratio.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "STRETCH_KEEP_ASPECT_CENTERED" value= "5" enum= "StretchMode" >
2017-10-07 09:09:21 +02:00
Scale the texture to fit the node's bounding rectangle, center it, and maintain its aspect ratio.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "STRETCH_KEEP_ASPECT_COVERED" value= "6" enum= "StretchMode" >
2017-10-07 09:09:21 +02:00
Scale the texture so that the shorter side fits the bounding rectangle. The other side clips to the node's limits.
2017-09-12 22:42:36 +02:00
</constant>
</constants>
</class>