:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/3.5/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. 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. Properties ---------- +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | :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 )`` | +----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ Methods ------- +-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_stretch_margin` **(** :ref:`Margin` margin **)** |const| | +-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_stretch_margin` **(** :ref:`Margin` margin, :ref:`int` value **)** | +-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Enumerations ------------ .. _enum_TextureProgress_FillMode: .. _class_TextureProgress_constant_FILL_LEFT_TO_RIGHT: .. _class_TextureProgress_constant_FILL_RIGHT_TO_LEFT: .. _class_TextureProgress_constant_FILL_TOP_TO_BOTTOM: .. _class_TextureProgress_constant_FILL_BOTTOM_TO_TOP: .. _class_TextureProgress_constant_FILL_CLOCKWISE: .. _class_TextureProgress_constant_FILL_COUNTER_CLOCKWISE: .. _class_TextureProgress_constant_FILL_BILINEAR_LEFT_AND_RIGHT: .. _class_TextureProgress_constant_FILL_BILINEAR_TOP_AND_BOTTOM: .. _class_TextureProgress_constant_FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE: enum **FillMode**: - **FILL_LEFT_TO_RIGHT** = **0** --- The :ref:`texture_progress` fills from left to right. - **FILL_RIGHT_TO_LEFT** = **1** --- The :ref:`texture_progress` fills from right to left. - **FILL_TOP_TO_BOTTOM** = **2** --- The :ref:`texture_progress` fills from top to bottom. - **FILL_BOTTOM_TO_TOP** = **3** --- The :ref:`texture_progress` fills from bottom to top. - **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. - **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. - **FILL_BILINEAR_LEFT_AND_RIGHT** = **6** --- The :ref:`texture_progress` fills from the center, expanding both towards the left and the right. - **FILL_BILINEAR_TOP_AND_BOTTOM** = **7** --- The :ref:`texture_progress` fills from the center, expanding both towards the top and the bottom. - **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. Property Descriptions --------------------- .. _class_TextureProgress_property_fill_mode: - :ref:`int` **fill_mode** +-----------+----------------------+ | *Default* | ``0`` | +-----------+----------------------+ | *Setter* | set_fill_mode(value) | +-----------+----------------------+ | *Getter* | get_fill_mode() | +-----------+----------------------+ The fill direction. See :ref:`FillMode` for possible values. ---- .. _class_TextureProgress_property_nine_patch_stretch: - :ref:`bool` **nine_patch_stretch** +-----------+-------------------------------+ | *Default* | ``false`` | +-----------+-------------------------------+ | *Setter* | set_nine_patch_stretch(value) | +-----------+-------------------------------+ | *Getter* | 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. ---- .. _class_TextureProgress_property_radial_center_offset: - :ref:`Vector2` **radial_center_offset** +-----------+---------------------------------+ | *Default* | ``Vector2( 0, 0 )`` | +-----------+---------------------------------+ | *Setter* | set_radial_center_offset(value) | +-----------+---------------------------------+ | *Getter* | get_radial_center_offset() | +-----------+---------------------------------+ Offsets :ref:`texture_progress` if :ref:`fill_mode` is :ref:`FILL_CLOCKWISE` or :ref:`FILL_COUNTER_CLOCKWISE`. ---- .. _class_TextureProgress_property_radial_fill_degrees: - :ref:`float` **radial_fill_degrees** +-----------+-------------------------+ | *Default* | ``360.0`` | +-----------+-------------------------+ | *Setter* | set_fill_degrees(value) | +-----------+-------------------------+ | *Getter* | 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`. ---- .. _class_TextureProgress_property_radial_initial_angle: - :ref:`float` **radial_initial_angle** +-----------+---------------------------------+ | *Default* | ``0.0`` | +-----------+---------------------------------+ | *Setter* | set_radial_initial_angle(value) | +-----------+---------------------------------+ | *Getter* | 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`. ---- .. _class_TextureProgress_property_stretch_margin_bottom: - :ref:`int` **stretch_margin_bottom** +-----------+---------------------------+ | *Default* | ``0`` | +-----------+---------------------------+ | *Setter* | set_stretch_margin(value) | +-----------+---------------------------+ | *Getter* | get_stretch_margin() | +-----------+---------------------------+ 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. ---- .. _class_TextureProgress_property_stretch_margin_left: - :ref:`int` **stretch_margin_left** +-----------+---------------------------+ | *Default* | ``0`` | +-----------+---------------------------+ | *Setter* | set_stretch_margin(value) | +-----------+---------------------------+ | *Getter* | get_stretch_margin() | +-----------+---------------------------+ The width of the 9-patch's left column. ---- .. _class_TextureProgress_property_stretch_margin_right: - :ref:`int` **stretch_margin_right** +-----------+---------------------------+ | *Default* | ``0`` | +-----------+---------------------------+ | *Setter* | set_stretch_margin(value) | +-----------+---------------------------+ | *Getter* | get_stretch_margin() | +-----------+---------------------------+ The width of the 9-patch's right column. ---- .. _class_TextureProgress_property_stretch_margin_top: - :ref:`int` **stretch_margin_top** +-----------+---------------------------+ | *Default* | ``0`` | +-----------+---------------------------+ | *Setter* | set_stretch_margin(value) | +-----------+---------------------------+ | *Getter* | get_stretch_margin() | +-----------+---------------------------+ The height of the 9-patch's top row. ---- .. _class_TextureProgress_property_texture_over: - :ref:`Texture` **texture_over** +----------+-------------------------+ | *Setter* | set_over_texture(value) | +----------+-------------------------+ | *Getter* | 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`. ---- .. _class_TextureProgress_property_texture_progress: - :ref:`Texture` **texture_progress** +----------+-----------------------------+ | *Setter* | set_progress_texture(value) | +----------+-----------------------------+ | *Getter* | 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`. ---- .. _class_TextureProgress_property_texture_progress_offset: - :ref:`Vector2` **texture_progress_offset** +-----------+------------------------------------+ | *Default* | ``Vector2( 0, 0 )`` | +-----------+------------------------------------+ | *Setter* | set_texture_progress_offset(value) | +-----------+------------------------------------+ | *Getter* | 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. ---- .. _class_TextureProgress_property_texture_under: - :ref:`Texture` **texture_under** +----------+--------------------------+ | *Setter* | set_under_texture(value) | +----------+--------------------------+ | *Getter* | get_under_texture() | +----------+--------------------------+ :ref:`Texture` that draws under the progress bar. The bar's background. ---- .. _class_TextureProgress_property_tint_over: - :ref:`Color` **tint_over** +-----------+-------------------------+ | *Default* | ``Color( 1, 1, 1, 1 )`` | +-----------+-------------------------+ | *Setter* | set_tint_over(value) | +-----------+-------------------------+ | *Getter* | 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. ---- .. _class_TextureProgress_property_tint_progress: - :ref:`Color` **tint_progress** +-----------+--------------------------+ | *Default* | ``Color( 1, 1, 1, 1 )`` | +-----------+--------------------------+ | *Setter* | set_tint_progress(value) | +-----------+--------------------------+ | *Getter* | get_tint_progress() | +-----------+--------------------------+ Multiplies the color of the bar's ``texture_progress`` texture. ---- .. _class_TextureProgress_property_tint_under: - :ref:`Color` **tint_under** +-----------+-------------------------+ | *Default* | ``Color( 1, 1, 1, 1 )`` | +-----------+-------------------------+ | *Setter* | set_tint_under(value) | +-----------+-------------------------+ | *Getter* | get_tint_under() | +-----------+-------------------------+ Multiplies the color of the bar's ``texture_under`` texture. Method Descriptions ------------------- .. _class_TextureProgress_method_get_stretch_margin: - :ref:`int` **get_stretch_margin** **(** :ref:`Margin` margin **)** |const| ---- .. _class_TextureProgress_method_set_stretch_margin: - void **set_stretch_margin** **(** :ref:`Margin` margin, :ref:`int` value **)** .. |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.)`