:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/3.6/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/3.6/doc/classes/TextureProgress.xml. .. _class_TextureProgress: TextureProgress =============== **Inherits:** :ref:`Range` **<** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` Texture-based progress bar. Useful for loading screens and life or stamina bars. .. rst-class:: classref-introduction-group Description ----------- TextureProgress works like :ref:`ProgressBar`, but uses up to 3 textures instead of Godot's :ref:`Theme` resource. It can be used to create horizontal, vertical and radial progress bars. .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`int` | :ref:`fill_mode` | ``0`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`MouseFilter` | mouse_filter | ``1`` (overrides :ref:`Control`) | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`bool` | :ref:`nine_patch_stretch` | ``false`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`radial_center_offset` | ``Vector2( 0, 0 )`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`float` | :ref:`radial_fill_degrees` | ``360.0`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`float` | :ref:`radial_initial_angle` | ``0.0`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`int` | :ref:`stretch_margin_bottom` | ``0`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`int` | :ref:`stretch_margin_left` | ``0`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`int` | :ref:`stretch_margin_right` | ``0`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`int` | :ref:`stretch_margin_top` | ``0`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`Texture` | :ref:`texture_over` | | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`Texture` | :ref:`texture_progress` | | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`texture_progress_offset` | ``Vector2( 0, 0 )`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`Texture` | :ref:`texture_under` | | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`Color` | :ref:`tint_over` | ``Color( 1, 1, 1, 1 )`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`Color` | :ref:`tint_progress` | ``Color( 1, 1, 1, 1 )`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :ref:`Color` | :ref:`tint_under` | ``Color( 1, 1, 1, 1 )`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_stretch_margin` **(** :ref:`Margin` margin **)** |const| | +-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_stretch_margin` **(** :ref:`Margin` margin, :ref:`int` value **)** | +-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Enumerations ------------ .. _enum_TextureProgress_FillMode: .. rst-class:: classref-enumeration enum **FillMode**: .. _class_TextureProgress_constant_FILL_LEFT_TO_RIGHT: .. rst-class:: classref-enumeration-constant :ref:`FillMode` **FILL_LEFT_TO_RIGHT** = ``0`` The :ref:`texture_progress` fills from left to right. .. _class_TextureProgress_constant_FILL_RIGHT_TO_LEFT: .. rst-class:: classref-enumeration-constant :ref:`FillMode` **FILL_RIGHT_TO_LEFT** = ``1`` The :ref:`texture_progress` fills from right to left. .. _class_TextureProgress_constant_FILL_TOP_TO_BOTTOM: .. rst-class:: classref-enumeration-constant :ref:`FillMode` **FILL_TOP_TO_BOTTOM** = ``2`` The :ref:`texture_progress` fills from top to bottom. .. _class_TextureProgress_constant_FILL_BOTTOM_TO_TOP: .. rst-class:: classref-enumeration-constant :ref:`FillMode` **FILL_BOTTOM_TO_TOP** = ``3`` The :ref:`texture_progress` fills from bottom to top. .. _class_TextureProgress_constant_FILL_CLOCKWISE: .. rst-class:: classref-enumeration-constant :ref:`FillMode` **FILL_CLOCKWISE** = ``4`` Turns the node into a radial bar. The :ref:`texture_progress` fills clockwise. See :ref:`radial_center_offset`, :ref:`radial_initial_angle` and :ref:`radial_fill_degrees` to control the way the bar fills up. .. _class_TextureProgress_constant_FILL_COUNTER_CLOCKWISE: .. rst-class:: classref-enumeration-constant :ref:`FillMode` **FILL_COUNTER_CLOCKWISE** = ``5`` Turns the node into a radial bar. The :ref:`texture_progress` fills counterclockwise. See :ref:`radial_center_offset`, :ref:`radial_initial_angle` and :ref:`radial_fill_degrees` to control the way the bar fills up. .. _class_TextureProgress_constant_FILL_BILINEAR_LEFT_AND_RIGHT: .. rst-class:: classref-enumeration-constant :ref:`FillMode` **FILL_BILINEAR_LEFT_AND_RIGHT** = ``6`` The :ref:`texture_progress` fills from the center, expanding both towards the left and the right. .. _class_TextureProgress_constant_FILL_BILINEAR_TOP_AND_BOTTOM: .. rst-class:: classref-enumeration-constant :ref:`FillMode` **FILL_BILINEAR_TOP_AND_BOTTOM** = ``7`` The :ref:`texture_progress` fills from the center, expanding both towards the top and the bottom. .. _class_TextureProgress_constant_FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE: .. rst-class:: classref-enumeration-constant :ref:`FillMode` **FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE** = ``8`` Turns the node into a radial bar. The :ref:`texture_progress` fills radially from the center, expanding both clockwise and counterclockwise. See :ref:`radial_center_offset`, :ref:`radial_initial_angle` and :ref:`radial_fill_degrees` to control the way the bar fills up. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_TextureProgress_property_fill_mode: .. rst-class:: classref-property :ref:`int` **fill_mode** = ``0`` .. rst-class:: classref-property-setget - void **set_fill_mode** **(** :ref:`int` value **)** - :ref:`int` **get_fill_mode** **(** **)** The fill direction. See :ref:`FillMode` for possible values. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_nine_patch_stretch: .. rst-class:: classref-property :ref:`bool` **nine_patch_stretch** = ``false`` .. rst-class:: classref-property-setget - void **set_nine_patch_stretch** **(** :ref:`bool` value **)** - :ref:`bool` **get_nine_patch_stretch** **(** **)** If ``true``, Godot treats the bar's textures like in :ref:`NinePatchRect`. Use the ``stretch_margin_*`` properties like :ref:`stretch_margin_bottom` to set up the nine patch's 3×3 grid. When using a radial :ref:`fill_mode`, this setting will enable stretching. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_radial_center_offset: .. rst-class:: classref-property :ref:`Vector2` **radial_center_offset** = ``Vector2( 0, 0 )`` .. rst-class:: classref-property-setget - void **set_radial_center_offset** **(** :ref:`Vector2` value **)** - :ref:`Vector2` **get_radial_center_offset** **(** **)** Offsets :ref:`texture_progress` if :ref:`fill_mode` is :ref:`FILL_CLOCKWISE` or :ref:`FILL_COUNTER_CLOCKWISE`. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_radial_fill_degrees: .. rst-class:: classref-property :ref:`float` **radial_fill_degrees** = ``360.0`` .. rst-class:: classref-property-setget - void **set_fill_degrees** **(** :ref:`float` value **)** - :ref:`float` **get_fill_degrees** **(** **)** Upper limit for the fill of :ref:`texture_progress` if :ref:`fill_mode` is :ref:`FILL_CLOCKWISE` or :ref:`FILL_COUNTER_CLOCKWISE`. When the node's ``value`` is equal to its ``max_value``, the texture fills up to this angle. See :ref:`Range.value`, :ref:`Range.max_value`. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_radial_initial_angle: .. rst-class:: classref-property :ref:`float` **radial_initial_angle** = ``0.0`` .. rst-class:: classref-property-setget - void **set_radial_initial_angle** **(** :ref:`float` value **)** - :ref:`float` **get_radial_initial_angle** **(** **)** Starting angle for the fill of :ref:`texture_progress` if :ref:`fill_mode` is :ref:`FILL_CLOCKWISE` or :ref:`FILL_COUNTER_CLOCKWISE`. When the node's ``value`` is equal to its ``min_value``, the texture doesn't show up at all. When the ``value`` increases, the texture fills and tends towards :ref:`radial_fill_degrees`. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_stretch_margin_bottom: .. rst-class:: classref-property :ref:`int` **stretch_margin_bottom** = ``0`` .. rst-class:: classref-property-setget - void **set_stretch_margin** **(** :ref:`Margin` margin, :ref:`int` value **)** - :ref:`int` **get_stretch_margin** **(** :ref:`Margin` margin **)** |const| The height of the 9-patch's bottom row. A margin of 16 means the 9-slice's bottom corners and side will have a height of 16 pixels. You can set all 4 margin values individually to create panels with non-uniform borders. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_stretch_margin_left: .. rst-class:: classref-property :ref:`int` **stretch_margin_left** = ``0`` .. rst-class:: classref-property-setget - void **set_stretch_margin** **(** :ref:`Margin` margin, :ref:`int` value **)** - :ref:`int` **get_stretch_margin** **(** :ref:`Margin` margin **)** |const| The width of the 9-patch's left column. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_stretch_margin_right: .. rst-class:: classref-property :ref:`int` **stretch_margin_right** = ``0`` .. rst-class:: classref-property-setget - void **set_stretch_margin** **(** :ref:`Margin` margin, :ref:`int` value **)** - :ref:`int` **get_stretch_margin** **(** :ref:`Margin` margin **)** |const| The width of the 9-patch's right column. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_stretch_margin_top: .. rst-class:: classref-property :ref:`int` **stretch_margin_top** = ``0`` .. rst-class:: classref-property-setget - void **set_stretch_margin** **(** :ref:`Margin` margin, :ref:`int` value **)** - :ref:`int` **get_stretch_margin** **(** :ref:`Margin` margin **)** |const| The height of the 9-patch's top row. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_texture_over: .. rst-class:: classref-property :ref:`Texture` **texture_over** .. rst-class:: classref-property-setget - void **set_over_texture** **(** :ref:`Texture` value **)** - :ref:`Texture` **get_over_texture** **(** **)** :ref:`Texture` that draws over the progress bar. Use it to add highlights or an upper-frame that hides part of :ref:`texture_progress`. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_texture_progress: .. rst-class:: classref-property :ref:`Texture` **texture_progress** .. rst-class:: classref-property-setget - void **set_progress_texture** **(** :ref:`Texture` value **)** - :ref:`Texture` **get_progress_texture** **(** **)** :ref:`Texture` that clips based on the node's ``value`` and :ref:`fill_mode`. As ``value`` increased, the texture fills up. It shows entirely when ``value`` reaches ``max_value``. It doesn't show at all if ``value`` is equal to ``min_value``. The ``value`` property comes from :ref:`Range`. See :ref:`Range.value`, :ref:`Range.min_value`, :ref:`Range.max_value`. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_texture_progress_offset: .. rst-class:: classref-property :ref:`Vector2` **texture_progress_offset** = ``Vector2( 0, 0 )`` .. rst-class:: classref-property-setget - void **set_texture_progress_offset** **(** :ref:`Vector2` value **)** - :ref:`Vector2` **get_texture_progress_offset** **(** **)** The offset of :ref:`texture_progress`. Useful for :ref:`texture_over` and :ref:`texture_under` with fancy borders, to avoid transparent margins in your progress texture. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_texture_under: .. rst-class:: classref-property :ref:`Texture` **texture_under** .. rst-class:: classref-property-setget - void **set_under_texture** **(** :ref:`Texture` value **)** - :ref:`Texture` **get_under_texture** **(** **)** :ref:`Texture` that draws under the progress bar. The bar's background. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_tint_over: .. rst-class:: classref-property :ref:`Color` **tint_over** = ``Color( 1, 1, 1, 1 )`` .. rst-class:: classref-property-setget - void **set_tint_over** **(** :ref:`Color` value **)** - :ref:`Color` **get_tint_over** **(** **)** Multiplies the color of the bar's ``texture_over`` texture. The effect is similar to :ref:`CanvasItem.modulate`, except it only affects this specific texture instead of the entire node. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_tint_progress: .. rst-class:: classref-property :ref:`Color` **tint_progress** = ``Color( 1, 1, 1, 1 )`` .. rst-class:: classref-property-setget - void **set_tint_progress** **(** :ref:`Color` value **)** - :ref:`Color` **get_tint_progress** **(** **)** Multiplies the color of the bar's ``texture_progress`` texture. .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_property_tint_under: .. rst-class:: classref-property :ref:`Color` **tint_under** = ``Color( 1, 1, 1, 1 )`` .. rst-class:: classref-property-setget - void **set_tint_under** **(** :ref:`Color` value **)** - :ref:`Color` **get_tint_under** **(** **)** Multiplies the color of the bar's ``texture_under`` texture. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_TextureProgress_method_get_stretch_margin: .. rst-class:: classref-method :ref:`int` **get_stretch_margin** **(** :ref:`Margin` margin **)** |const| .. container:: contribute There is currently no description for this method. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator ---- .. _class_TextureProgress_method_set_stretch_margin: .. rst-class:: classref-method void **set_stretch_margin** **(** :ref:`Margin` margin, :ref:`int` value **)** .. container:: contribute There is currently no description for this method. Please help us by :ref:`contributing one `! .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`