virtualx-engine-docs/_sources/classes/class_textureprogress.rst.txt
2024-10-23 09:41:33 -07:00

486 lines
24 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

: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<class_Range>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_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<class_ProgressBar>`, but uses up to 3 textures instead of Godot's :ref:`Theme<class_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<class_int>` | :ref:`fill_mode<class_TextureProgress_property_fill_mode>` | ``0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`MouseFilter<enum_Control_MouseFilter>` | mouse_filter | ``1`` (overrides :ref:`Control<class_Control_property_mouse_filter>`) |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`nine_patch_stretch<class_TextureProgress_property_nine_patch_stretch>` | ``false`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`radial_center_offset<class_TextureProgress_property_radial_center_offset>` | ``Vector2( 0, 0 )`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`radial_fill_degrees<class_TextureProgress_property_radial_fill_degrees>` | ``360.0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`radial_initial_angle<class_TextureProgress_property_radial_initial_angle>` | ``0.0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`stretch_margin_bottom<class_TextureProgress_property_stretch_margin_bottom>` | ``0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`stretch_margin_left<class_TextureProgress_property_stretch_margin_left>` | ``0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`stretch_margin_right<class_TextureProgress_property_stretch_margin_right>` | ``0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`stretch_margin_top<class_TextureProgress_property_stretch_margin_top>` | ``0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`texture_over<class_TextureProgress_property_texture_over>` | |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`texture_progress<class_TextureProgress_property_texture_progress>` | |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`texture_progress_offset<class_TextureProgress_property_texture_progress_offset>` | ``Vector2( 0, 0 )`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`texture_under<class_TextureProgress_property_texture_under>` | |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`tint_over<class_TextureProgress_property_tint_over>` | ``Color( 1, 1, 1, 1 )`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`tint_progress<class_TextureProgress_property_tint_progress>` | ``Color( 1, 1, 1, 1 )`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`tint_under<class_TextureProgress_property_tint_under>` | ``Color( 1, 1, 1, 1 )`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
Methods
-------
.. table::
:widths: auto
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_stretch_margin<class_TextureProgress_method_get_stretch_margin>` **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** |const| |
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_stretch_margin<class_TextureProgress_method_set_stretch_margin>` **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_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<enum_TextureProgress_FillMode>` **FILL_LEFT_TO_RIGHT** = ``0``
The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills from left to right.
.. _class_TextureProgress_constant_FILL_RIGHT_TO_LEFT:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_RIGHT_TO_LEFT** = ``1``
The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills from right to left.
.. _class_TextureProgress_constant_FILL_TOP_TO_BOTTOM:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_TOP_TO_BOTTOM** = ``2``
The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills from top to bottom.
.. _class_TextureProgress_constant_FILL_BOTTOM_TO_TOP:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_BOTTOM_TO_TOP** = ``3``
The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills from bottom to top.
.. _class_TextureProgress_constant_FILL_CLOCKWISE:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_CLOCKWISE** = ``4``
Turns the node into a radial bar. The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills clockwise. See :ref:`radial_center_offset<class_TextureProgress_property_radial_center_offset>`, :ref:`radial_initial_angle<class_TextureProgress_property_radial_initial_angle>` and :ref:`radial_fill_degrees<class_TextureProgress_property_radial_fill_degrees>` to control the way the bar fills up.
.. _class_TextureProgress_constant_FILL_COUNTER_CLOCKWISE:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_COUNTER_CLOCKWISE** = ``5``
Turns the node into a radial bar. The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills counterclockwise. See :ref:`radial_center_offset<class_TextureProgress_property_radial_center_offset>`, :ref:`radial_initial_angle<class_TextureProgress_property_radial_initial_angle>` and :ref:`radial_fill_degrees<class_TextureProgress_property_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<enum_TextureProgress_FillMode>` **FILL_BILINEAR_LEFT_AND_RIGHT** = ``6``
The :ref:`texture_progress<class_TextureProgress_property_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<enum_TextureProgress_FillMode>` **FILL_BILINEAR_TOP_AND_BOTTOM** = ``7``
The :ref:`texture_progress<class_TextureProgress_property_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<enum_TextureProgress_FillMode>` **FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE** = ``8``
Turns the node into a radial bar. The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills radially from the center, expanding both clockwise and counterclockwise. See :ref:`radial_center_offset<class_TextureProgress_property_radial_center_offset>`, :ref:`radial_initial_angle<class_TextureProgress_property_radial_initial_angle>` and :ref:`radial_fill_degrees<class_TextureProgress_property_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<class_int>` **fill_mode** = ``0``
.. rst-class:: classref-property-setget
- void **set_fill_mode** **(** :ref:`int<class_int>` value **)**
- :ref:`int<class_int>` **get_fill_mode** **(** **)**
The fill direction. See :ref:`FillMode<enum_TextureProgress_FillMode>` for possible values.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_nine_patch_stretch:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **nine_patch_stretch** = ``false``
.. rst-class:: classref-property-setget
- void **set_nine_patch_stretch** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_bool>` **get_nine_patch_stretch** **(** **)**
If ``true``, Godot treats the bar's textures like in :ref:`NinePatchRect<class_NinePatchRect>`. Use the ``stretch_margin_*`` properties like :ref:`stretch_margin_bottom<class_TextureProgress_property_stretch_margin_bottom>` to set up the nine patch's 3×3 grid. When using a radial :ref:`fill_mode<class_TextureProgress_property_fill_mode>`, this setting will enable stretching.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_radial_center_offset:
.. rst-class:: classref-property
:ref:`Vector2<class_Vector2>` **radial_center_offset** = ``Vector2( 0, 0 )``
.. rst-class:: classref-property-setget
- void **set_radial_center_offset** **(** :ref:`Vector2<class_Vector2>` value **)**
- :ref:`Vector2<class_Vector2>` **get_radial_center_offset** **(** **)**
Offsets :ref:`texture_progress<class_TextureProgress_property_texture_progress>` if :ref:`fill_mode<class_TextureProgress_property_fill_mode>` is :ref:`FILL_CLOCKWISE<class_TextureProgress_constant_FILL_CLOCKWISE>` or :ref:`FILL_COUNTER_CLOCKWISE<class_TextureProgress_constant_FILL_COUNTER_CLOCKWISE>`.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_radial_fill_degrees:
.. rst-class:: classref-property
:ref:`float<class_float>` **radial_fill_degrees** = ``360.0``
.. rst-class:: classref-property-setget
- void **set_fill_degrees** **(** :ref:`float<class_float>` value **)**
- :ref:`float<class_float>` **get_fill_degrees** **(** **)**
Upper limit for the fill of :ref:`texture_progress<class_TextureProgress_property_texture_progress>` if :ref:`fill_mode<class_TextureProgress_property_fill_mode>` is :ref:`FILL_CLOCKWISE<class_TextureProgress_constant_FILL_CLOCKWISE>` or :ref:`FILL_COUNTER_CLOCKWISE<class_TextureProgress_constant_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<class_Range_property_value>`, :ref:`Range.max_value<class_Range_property_max_value>`.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_radial_initial_angle:
.. rst-class:: classref-property
:ref:`float<class_float>` **radial_initial_angle** = ``0.0``
.. rst-class:: classref-property-setget
- void **set_radial_initial_angle** **(** :ref:`float<class_float>` value **)**
- :ref:`float<class_float>` **get_radial_initial_angle** **(** **)**
Starting angle for the fill of :ref:`texture_progress<class_TextureProgress_property_texture_progress>` if :ref:`fill_mode<class_TextureProgress_property_fill_mode>` is :ref:`FILL_CLOCKWISE<class_TextureProgress_constant_FILL_CLOCKWISE>` or :ref:`FILL_COUNTER_CLOCKWISE<class_TextureProgress_constant_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_radial_fill_degrees>`.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_stretch_margin_bottom:
.. rst-class:: classref-property
:ref:`int<class_int>` **stretch_margin_bottom** = ``0``
.. rst-class:: classref-property-setget
- void **set_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` value **)**
- :ref:`int<class_int>` **get_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_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<class_int>` **stretch_margin_left** = ``0``
.. rst-class:: classref-property-setget
- void **set_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` value **)**
- :ref:`int<class_int>` **get_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_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<class_int>` **stretch_margin_right** = ``0``
.. rst-class:: classref-property-setget
- void **set_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` value **)**
- :ref:`int<class_int>` **get_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_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<class_int>` **stretch_margin_top** = ``0``
.. rst-class:: classref-property-setget
- void **set_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` value **)**
- :ref:`int<class_int>` **get_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_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<class_Texture>` **texture_over**
.. rst-class:: classref-property-setget
- void **set_over_texture** **(** :ref:`Texture<class_Texture>` value **)**
- :ref:`Texture<class_Texture>` **get_over_texture** **(** **)**
:ref:`Texture<class_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>`.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_texture_progress:
.. rst-class:: classref-property
:ref:`Texture<class_Texture>` **texture_progress**
.. rst-class:: classref-property-setget
- void **set_progress_texture** **(** :ref:`Texture<class_Texture>` value **)**
- :ref:`Texture<class_Texture>` **get_progress_texture** **(** **)**
:ref:`Texture<class_Texture>` that clips based on the node's ``value`` and :ref:`fill_mode<class_TextureProgress_property_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<class_Range>`. See :ref:`Range.value<class_Range_property_value>`, :ref:`Range.min_value<class_Range_property_min_value>`, :ref:`Range.max_value<class_Range_property_max_value>`.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_texture_progress_offset:
.. rst-class:: classref-property
:ref:`Vector2<class_Vector2>` **texture_progress_offset** = ``Vector2( 0, 0 )``
.. rst-class:: classref-property-setget
- void **set_texture_progress_offset** **(** :ref:`Vector2<class_Vector2>` value **)**
- :ref:`Vector2<class_Vector2>` **get_texture_progress_offset** **(** **)**
The offset of :ref:`texture_progress<class_TextureProgress_property_texture_progress>`. Useful for :ref:`texture_over<class_TextureProgress_property_texture_over>` and :ref:`texture_under<class_TextureProgress_property_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<class_Texture>` **texture_under**
.. rst-class:: classref-property-setget
- void **set_under_texture** **(** :ref:`Texture<class_Texture>` value **)**
- :ref:`Texture<class_Texture>` **get_under_texture** **(** **)**
:ref:`Texture<class_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<class_Color>` **tint_over** = ``Color( 1, 1, 1, 1 )``
.. rst-class:: classref-property-setget
- void **set_tint_over** **(** :ref:`Color<class_Color>` value **)**
- :ref:`Color<class_Color>` **get_tint_over** **(** **)**
Multiplies the color of the bar's ``texture_over`` texture. The effect is similar to :ref:`CanvasItem.modulate<class_CanvasItem_property_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<class_Color>` **tint_progress** = ``Color( 1, 1, 1, 1 )``
.. rst-class:: classref-property-setget
- void **set_tint_progress** **(** :ref:`Color<class_Color>` value **)**
- :ref:`Color<class_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<class_Color>` **tint_under** = ``Color( 1, 1, 1, 1 )``
.. rst-class:: classref-property-setget
- void **set_tint_under** **(** :ref:`Color<class_Color>` value **)**
- :ref:`Color<class_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<class_int>` **get_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** |const|
.. container:: contribute
There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_method_set_stretch_margin:
.. rst-class:: classref-method
void **set_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` value **)**
.. container:: contribute
There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
.. |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.)`