.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the TextureProgress.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.

.. _class_TextureProgress:

TextureProgress
===============

**Inherits:** :ref:`Range<class_range>` **<** :ref:`Control<class_control>` **<** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`

**Category:** Core

Brief Description
-----------------

Texture-based progress bar. Useful for loading screens and life or stamina bars.

Member Functions
----------------

+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>`      | :ref:`get_fill_degrees<class_TextureProgress_get_fill_degrees>`  **(** **)**                                                                |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>`          | :ref:`get_fill_mode<class_TextureProgress_get_fill_mode>`  **(** **)**                                                                      |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>`        | :ref:`get_nine_patch_stretch<class_TextureProgress_get_nine_patch_stretch>`  **(** **)** const                                              |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_texture>`  | :ref:`get_over_texture<class_TextureProgress_get_over_texture>`  **(** **)** const                                                          |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_texture>`  | :ref:`get_progress_texture<class_TextureProgress_get_progress_texture>`  **(** **)** const                                                  |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_vector2>`  | :ref:`get_radial_center_offset<class_TextureProgress_get_radial_center_offset>`  **(** **)**                                                |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>`      | :ref:`get_radial_initial_angle<class_TextureProgress_get_radial_initial_angle>`  **(** **)**                                                |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>`          | :ref:`get_stretch_margin<class_TextureProgress_get_stretch_margin>`  **(** :ref:`int<class_int>` margin  **)** const                        |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_texture>`  | :ref:`get_under_texture<class_TextureProgress_get_under_texture>`  **(** **)** const                                                        |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_fill_degrees<class_TextureProgress_set_fill_degrees>`  **(** :ref:`float<class_float>` mode  **)**                                |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_fill_mode<class_TextureProgress_set_fill_mode>`  **(** :ref:`int<class_int>` mode  **)**                                          |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_nine_patch_stretch<class_TextureProgress_set_nine_patch_stretch>`  **(** :ref:`bool<class_bool>` stretch  **)**                   |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_over_texture<class_TextureProgress_set_over_texture>`  **(** :ref:`Texture<class_texture>` tex  **)**                             |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_progress_texture<class_TextureProgress_set_progress_texture>`  **(** :ref:`Texture<class_texture>` tex  **)**                     |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_radial_center_offset<class_TextureProgress_set_radial_center_offset>`  **(** :ref:`Vector2<class_vector2>` mode  **)**            |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_radial_initial_angle<class_TextureProgress_set_radial_initial_angle>`  **(** :ref:`float<class_float>` mode  **)**                |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_stretch_margin<class_TextureProgress_set_stretch_margin>`  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` value  **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_under_texture<class_TextureProgress_set_under_texture>`  **(** :ref:`Texture<class_texture>` tex  **)**                           |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+

Member Variables
----------------

- :ref:`int<class_int>` **fill_mode** - The fill direction. Uses FILL_* constants.
- :ref:`bool<class_bool>` **nine_patch_stretch** - If [code]true[/code] Godot treats the bar's textures like [NinePatchRect]. Use [code]stretch_margin_*[/code], like [member stretch_margin_bottom], to set up the nine patch's 3x3 grid. Default value: [code]false[/code].
- :ref:`Vector2<class_vector2>` **radial_center_offset** - Offsets [member texture_progress] if [member fill_mode] is [code]FILL_CLOCKWISE[/code] or [code]FILL_COUNTER_CLOCKWISE[/code].
- :ref:`float<class_float>` **radial_fill_degrees** - Upper limit for the fill of [member texture_progress] if [member fill_mode] is [code]FILL_CLOCKWISE[/code] or [code]FILL_COUNTER_CLOCKWISE[/code]. When the node's [code]value[/code] is equal to its [code]max_value[/code], the texture fills up to this angle.
			See [member Range.value], [member Range.max_value].
- :ref:`float<class_float>` **radial_initial_angle** - Starting angle for the fill of [member texture_progress] if [member fill_mode] is [code]FILL_CLOCKWISE[/code] or [code]FILL_COUNTER_CLOCKWISE[/code]. When the node's [code]value[/code] is equal to its [code]min_value[/code], the texture doesn't show up at all. When the [code]value[/code] increases, the texture fills and tends towards [member radial_fill_degrees].
- :ref:`int<class_int>` **stretch_margin_bottom** - 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.
- :ref:`int<class_int>` **stretch_margin_left** - The width of the 9-patch's left column.
- :ref:`int<class_int>` **stretch_margin_right** - The width of the 9-patch's right column.
- :ref:`int<class_int>` **stretch_margin_top** - The height of the 9-patch's top row.
- :ref:`Texture<class_texture>` **texture_over** - [Texture] that draws over the progress bar. Use it to add highlights or an upper-frame that hides part of [member texture_progress].
- :ref:`Texture<class_texture>` **texture_progress** - [Texture] that clips based on the node's [code]value[/code] and [member fill_mode]. As [code]value[/code] increased, the texture fills up. It shows entirely when [code]value[/code] reaches [code]max_value[/code]. It doesn't show at all if [code]value[/code] is equal to [code]min_value[/code].
			The [code]value[/code] property comes from [Range]. See [member Range.value], [member Range.min_value], [member Range.max_value].
- :ref:`Texture<class_texture>` **texture_under** - [Texture] that draws under the progress bar. The bar's background.

Numeric Constants
-----------------

- **FILL_LEFT_TO_RIGHT** = **0** --- The member texture_progress fills from left to right.
- **FILL_RIGHT_TO_LEFT** = **1** --- The member texture_progress fills from right to left.
- **FILL_TOP_TO_BOTTOM** = **2** --- The member texture_progress fills from top to bototm.
- **FILL_BOTTOM_TO_TOP** = **3** --- The member texture_progress fills from bottom to top.
- **FILL_CLOCKWISE** = **4** --- Turns the node into a radial bar. The member texture_progress fills clockwise. See member radial_center_offset, member radial_initial_angle and member radial_fill_degrees to refine its behavior.
- **FILL_COUNTER_CLOCKWISE** = **5** --- Turns the node into a radial bar. The member texture_progress fills counter-clockwise. See member radial_center_offset, member radial_initial_angle and member radial_fill_degrees to refine its behavior.

Description
-----------

TextureProgress works like :ref:`ProgressBar<class_progressbar>` but it uses up to 3 textures instead of Godot's :ref:`Theme<class_theme>` resource. Works horizontally, vertically, and radially.

Member Function Description
---------------------------

.. _class_TextureProgress_get_fill_degrees:

- :ref:`float<class_float>`  **get_fill_degrees**  **(** **)**

.. _class_TextureProgress_get_fill_mode:

- :ref:`int<class_int>`  **get_fill_mode**  **(** **)**

.. _class_TextureProgress_get_nine_patch_stretch:

- :ref:`bool<class_bool>`  **get_nine_patch_stretch**  **(** **)** const

Returns true if textures are stretched as nine-patches or false otherwise.

.. _class_TextureProgress_get_over_texture:

- :ref:`Texture<class_texture>`  **get_over_texture**  **(** **)** const

.. _class_TextureProgress_get_progress_texture:

- :ref:`Texture<class_texture>`  **get_progress_texture**  **(** **)** const

.. _class_TextureProgress_get_radial_center_offset:

- :ref:`Vector2<class_vector2>`  **get_radial_center_offset**  **(** **)**

.. _class_TextureProgress_get_radial_initial_angle:

- :ref:`float<class_float>`  **get_radial_initial_angle**  **(** **)**

.. _class_TextureProgress_get_stretch_margin:

- :ref:`int<class_int>`  **get_stretch_margin**  **(** :ref:`int<class_int>` margin  **)** const

Return nine-patch texture offset for a given margin (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM).

.. _class_TextureProgress_get_under_texture:

- :ref:`Texture<class_texture>`  **get_under_texture**  **(** **)** const

.. _class_TextureProgress_set_fill_degrees:

- void  **set_fill_degrees**  **(** :ref:`float<class_float>` mode  **)**

.. _class_TextureProgress_set_fill_mode:

- void  **set_fill_mode**  **(** :ref:`int<class_int>` mode  **)**

.. _class_TextureProgress_set_nine_patch_stretch:

- void  **set_nine_patch_stretch**  **(** :ref:`bool<class_bool>` stretch  **)**

Set if textures should be stretched as nine-patches.

.. _class_TextureProgress_set_over_texture:

- void  **set_over_texture**  **(** :ref:`Texture<class_texture>` tex  **)**

.. _class_TextureProgress_set_progress_texture:

- void  **set_progress_texture**  **(** :ref:`Texture<class_texture>` tex  **)**

.. _class_TextureProgress_set_radial_center_offset:

- void  **set_radial_center_offset**  **(** :ref:`Vector2<class_vector2>` mode  **)**

.. _class_TextureProgress_set_radial_initial_angle:

- void  **set_radial_initial_angle**  **(** :ref:`float<class_float>` mode  **)**

.. _class_TextureProgress_set_stretch_margin:

- void  **set_stretch_margin**  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` value  **)**

Set nine-patch texture offset for a given margin (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM).

.. _class_TextureProgress_set_under_texture:

- void  **set_under_texture**  **(** :ref:`Texture<class_texture>` tex  **)**


