TextureButton

Inherits: BaseButton < Control < CanvasItem < Node < Object

Texture-based button. Supports Pressed, Hover, Disabled and Focused states.

Description

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 Controls.

The "normal" state must contain a texture (texture_normal); other textures are optional.

See also BaseButton which contains common properties and methods associated with this node.

Tutorials

Properties

bool

expand

false

bool

flip_h

false

bool

flip_v

false

StretchMode

stretch_mode

0

BitMap

texture_click_mask

Texture

texture_disabled

Texture

texture_focused

Texture

texture_hover

Texture

texture_normal

Texture

texture_pressed


Enumerations

enum StretchMode:

StretchMode STRETCH_SCALE = 0

Scale to fit the node's bounding rectangle.

StretchMode STRETCH_TILE = 1

Tile inside the node's bounding rectangle.

StretchMode STRETCH_KEEP = 2

The texture keeps its original size and stays in the bounding rectangle's top-left corner.

StretchMode STRETCH_KEEP_CENTERED = 3

The texture keeps its original size and stays centered in the node's bounding rectangle.

StretchMode STRETCH_KEEP_ASPECT = 4

Scale the texture to fit the node's bounding rectangle, but maintain the texture's aspect ratio.

StretchMode STRETCH_KEEP_ASPECT_CENTERED = 5

Scale the texture to fit the node's bounding rectangle, center it, and maintain its aspect ratio.

StretchMode STRETCH_KEEP_ASPECT_COVERED = 6

Scale the texture so that the shorter side fits the bounding rectangle. The other side clips to the node's limits.


Property Descriptions

bool expand = false

  • void set_expand ( bool value )

  • bool get_expand ( )

If true, the texture stretches to the edges of the node's bounding rectangle using the stretch_mode. If false, the texture will not scale with the node.


bool flip_h = false

  • void set_flip_h ( bool value )

  • bool is_flipped_h ( )

If true, texture is flipped horizontally.


bool flip_v = false

  • void set_flip_v ( bool value )

  • bool is_flipped_v ( )

If true, texture is flipped vertically.


StretchMode stretch_mode = 0

Controls the texture's behavior when you resize the node's bounding rectangle, only if expand is true. Set it to one of the StretchMode constants. See the constants to learn more.


BitMap texture_click_mask

  • void set_click_mask ( BitMap value )

  • BitMap get_click_mask ( )

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.


Texture texture_disabled

  • void set_disabled_texture ( Texture value )

  • Texture get_disabled_texture ( )

Texture to display when the node is disabled. See BaseButton.disabled.


Texture texture_focused

  • void set_focused_texture ( Texture value )

  • Texture get_focused_texture ( )

Texture to display when the node has mouse or keyboard focus.


Texture texture_hover

  • void set_hover_texture ( Texture value )

  • Texture get_hover_texture ( )

Texture to display when the mouse hovers the node.


Texture texture_normal

  • void set_normal_texture ( Texture value )

  • Texture get_normal_texture ( )

Texture to display by default, when the node is not in the disabled, focused, hover or pressed state.


Texture texture_pressed

  • void set_pressed_texture ( Texture value )

  • Texture get_pressed_texture ( )

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 BaseButton.shortcut key.