.. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the TextureButton.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_TextureButton: TextureButton ============= **Inherits:** :ref:`BaseButton` **<** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` **Category:** Core Brief Description ----------------- Texture-based button. Supports Pressed, Hover, Disabled and Focused states. Member Variables ---------------- .. _class_TextureButton_expand: - :ref:`bool` **expand** - If ``true`` the texture stretches to the edges of the node's bounding rectangle using the :ref:`stretch_mode`. If ``false`` the texture will not scale with the node. Default value: ``false``. .. _class_TextureButton_stretch_mode: - :ref:`StretchMode` **stretch_mode** - Controls the texture's behavior when you resize the node's bounding rectangle, **only if** :ref:`expand` is ``true``. Set it to one of the ``STRETCH_*`` constants. See the constants to learn more. .. _class_TextureButton_texture_click_mask: - :ref:`BitMap` **texture_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. .. _class_TextureButton_texture_disabled: - :ref:`Texture` **texture_disabled** - Texture to display when the node is disabled. See :ref:`BaseButton.disabled`. .. _class_TextureButton_texture_focused: - :ref:`Texture` **texture_focused** - Texture to display when the node has mouse or keyboard focus. .. _class_TextureButton_texture_hover: - :ref:`Texture` **texture_hover** - Texture to display when the mouse hovers the node. .. _class_TextureButton_texture_normal: - :ref:`Texture` **texture_normal** - Texture to display by default, when the node is **not** in the disabled, focused, hover or pressed state. .. _class_TextureButton_texture_pressed: - :ref:`Texture` **texture_pressed** - 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 :ref:`BaseButton.shortcut` key. Enums ----- .. _enum_TextureButton_StretchMode: enum **StretchMode** - **STRETCH_SCALE** = **0** --- Scale to fit the node's bounding rectangle. - **STRETCH_TILE** = **1** --- Tile inside the node's bounding rectangle. - **STRETCH_KEEP** = **2** --- The texture keeps its original size and stays in the bounding rectangle's top-left corner. - **STRETCH_KEEP_CENTERED** = **3** --- The texture keeps its original size and stays centered in the node's bounding rectangle. - **STRETCH_KEEP_ASPECT** = **4** --- Scale the texture to fit the node's bounding rectangle, but maintain the texture's aspect ratio. - **STRETCH_KEEP_ASPECT_CENTERED** = **5** --- Scale the texture to fit the node's bounding rectangle, center it, and maintain its aspect ratio. - **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. Description ----------- ``TextureButton`` has the same functionality as :ref:`Button`, except it uses sprites instead of Godot's :ref:`Theme` resource. It is faster to create, but it doesn't support localization like more complex Controls. The Normal state's texture is required. Others are optional.