class_textureprogressbar.rst 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TextureProgressBar.xml.
  6. .. _class_TextureProgressBar:
  7. TextureProgressBar
  8. ==================
  9. **Inherits:** :ref:`Range<class_Range>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  10. Texture-based progress bar. Useful for loading screens and life or stamina bars.
  11. Description
  12. -----------
  13. TextureProgressBar 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.
  14. Properties
  15. ----------
  16. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  17. | :ref:`int<class_int>` | :ref:`fill_mode<class_TextureProgressBar_property_fill_mode>` | ``0`` |
  18. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  19. | :ref:`bool<class_bool>` | :ref:`nine_patch_stretch<class_TextureProgressBar_property_nine_patch_stretch>` | ``false`` |
  20. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  21. | :ref:`Vector2<class_Vector2>` | :ref:`radial_center_offset<class_TextureProgressBar_property_radial_center_offset>` | ``Vector2(0, 0)`` |
  22. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  23. | :ref:`float<class_float>` | :ref:`radial_fill_degrees<class_TextureProgressBar_property_radial_fill_degrees>` | ``360.0`` |
  24. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  25. | :ref:`float<class_float>` | :ref:`radial_initial_angle<class_TextureProgressBar_property_radial_initial_angle>` | ``0.0`` |
  26. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  27. | :ref:`int<class_int>` | :ref:`stretch_margin_bottom<class_TextureProgressBar_property_stretch_margin_bottom>` | ``0`` |
  28. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  29. | :ref:`int<class_int>` | :ref:`stretch_margin_left<class_TextureProgressBar_property_stretch_margin_left>` | ``0`` |
  30. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  31. | :ref:`int<class_int>` | :ref:`stretch_margin_right<class_TextureProgressBar_property_stretch_margin_right>` | ``0`` |
  32. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  33. | :ref:`int<class_int>` | :ref:`stretch_margin_top<class_TextureProgressBar_property_stretch_margin_top>` | ``0`` |
  34. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  35. | :ref:`Texture2D<class_Texture2D>` | :ref:`texture_over<class_TextureProgressBar_property_texture_over>` | |
  36. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  37. | :ref:`Texture2D<class_Texture2D>` | :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>` | |
  38. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  39. | :ref:`Vector2<class_Vector2>` | :ref:`texture_progress_offset<class_TextureProgressBar_property_texture_progress_offset>` | ``Vector2(0, 0)`` |
  40. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  41. | :ref:`Texture2D<class_Texture2D>` | :ref:`texture_under<class_TextureProgressBar_property_texture_under>` | |
  42. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  43. | :ref:`Color<class_Color>` | :ref:`tint_over<class_TextureProgressBar_property_tint_over>` | ``Color(1, 1, 1, 1)`` |
  44. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  45. | :ref:`Color<class_Color>` | :ref:`tint_progress<class_TextureProgressBar_property_tint_progress>` | ``Color(1, 1, 1, 1)`` |
  46. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  47. | :ref:`Color<class_Color>` | :ref:`tint_under<class_TextureProgressBar_property_tint_under>` | ``Color(1, 1, 1, 1)`` |
  48. +-----------------------------------+-------------------------------------------------------------------------------------------+-----------------------+
  49. Methods
  50. -------
  51. +-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | :ref:`int<class_int>` | :ref:`get_stretch_margin<class_TextureProgressBar_method_get_stretch_margin>` **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const| |
  53. +-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | void | :ref:`set_stretch_margin<class_TextureProgressBar_method_set_stretch_margin>` **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`int<class_int>` value **)** |
  55. +-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. Enumerations
  57. ------------
  58. .. _enum_TextureProgressBar_FillMode:
  59. .. _class_TextureProgressBar_constant_FILL_LEFT_TO_RIGHT:
  60. .. _class_TextureProgressBar_constant_FILL_RIGHT_TO_LEFT:
  61. .. _class_TextureProgressBar_constant_FILL_TOP_TO_BOTTOM:
  62. .. _class_TextureProgressBar_constant_FILL_BOTTOM_TO_TOP:
  63. .. _class_TextureProgressBar_constant_FILL_CLOCKWISE:
  64. .. _class_TextureProgressBar_constant_FILL_COUNTER_CLOCKWISE:
  65. .. _class_TextureProgressBar_constant_FILL_BILINEAR_LEFT_AND_RIGHT:
  66. .. _class_TextureProgressBar_constant_FILL_BILINEAR_TOP_AND_BOTTOM:
  67. .. _class_TextureProgressBar_constant_FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE:
  68. enum **FillMode**:
  69. - **FILL_LEFT_TO_RIGHT** = **0** --- The :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>` fills from left to right.
  70. - **FILL_RIGHT_TO_LEFT** = **1** --- The :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>` fills from right to left.
  71. - **FILL_TOP_TO_BOTTOM** = **2** --- The :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>` fills from top to bottom.
  72. - **FILL_BOTTOM_TO_TOP** = **3** --- The :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>` fills from bottom to top.
  73. - **FILL_CLOCKWISE** = **4** --- Turns the node into a radial bar. The :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>` fills clockwise. See :ref:`radial_center_offset<class_TextureProgressBar_property_radial_center_offset>`, :ref:`radial_initial_angle<class_TextureProgressBar_property_radial_initial_angle>` and :ref:`radial_fill_degrees<class_TextureProgressBar_property_radial_fill_degrees>` to control the way the bar fills up.
  74. - **FILL_COUNTER_CLOCKWISE** = **5** --- Turns the node into a radial bar. The :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>` fills counterclockwise. See :ref:`radial_center_offset<class_TextureProgressBar_property_radial_center_offset>`, :ref:`radial_initial_angle<class_TextureProgressBar_property_radial_initial_angle>` and :ref:`radial_fill_degrees<class_TextureProgressBar_property_radial_fill_degrees>` to control the way the bar fills up.
  75. - **FILL_BILINEAR_LEFT_AND_RIGHT** = **6** --- The :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>` fills from the center, expanding both towards the left and the right.
  76. - **FILL_BILINEAR_TOP_AND_BOTTOM** = **7** --- The :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>` fills from the center, expanding both towards the top and the bottom.
  77. - **FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE** = **8** --- Turns the node into a radial bar. The :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>` fills radially from the center, expanding both clockwise and counterclockwise. See :ref:`radial_center_offset<class_TextureProgressBar_property_radial_center_offset>`, :ref:`radial_initial_angle<class_TextureProgressBar_property_radial_initial_angle>` and :ref:`radial_fill_degrees<class_TextureProgressBar_property_radial_fill_degrees>` to control the way the bar fills up.
  78. Property Descriptions
  79. ---------------------
  80. .. _class_TextureProgressBar_property_fill_mode:
  81. - :ref:`int<class_int>` **fill_mode**
  82. +-----------+----------------------+
  83. | *Default* | ``0`` |
  84. +-----------+----------------------+
  85. | *Setter* | set_fill_mode(value) |
  86. +-----------+----------------------+
  87. | *Getter* | get_fill_mode() |
  88. +-----------+----------------------+
  89. The fill direction. See :ref:`FillMode<enum_TextureProgressBar_FillMode>` for possible values.
  90. ----
  91. .. _class_TextureProgressBar_property_nine_patch_stretch:
  92. - :ref:`bool<class_bool>` **nine_patch_stretch**
  93. +-----------+-------------------------------+
  94. | *Default* | ``false`` |
  95. +-----------+-------------------------------+
  96. | *Setter* | set_nine_patch_stretch(value) |
  97. +-----------+-------------------------------+
  98. | *Getter* | get_nine_patch_stretch() |
  99. +-----------+-------------------------------+
  100. 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_TextureProgressBar_property_stretch_margin_bottom>` to set up the nine patch's 3×3 grid. When using a radial :ref:`fill_mode<class_TextureProgressBar_property_fill_mode>`, this setting will enable stretching.
  101. ----
  102. .. _class_TextureProgressBar_property_radial_center_offset:
  103. - :ref:`Vector2<class_Vector2>` **radial_center_offset**
  104. +-----------+---------------------------------+
  105. | *Default* | ``Vector2(0, 0)`` |
  106. +-----------+---------------------------------+
  107. | *Setter* | set_radial_center_offset(value) |
  108. +-----------+---------------------------------+
  109. | *Getter* | get_radial_center_offset() |
  110. +-----------+---------------------------------+
  111. Offsets :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>` if :ref:`fill_mode<class_TextureProgressBar_property_fill_mode>` is :ref:`FILL_CLOCKWISE<class_TextureProgressBar_constant_FILL_CLOCKWISE>` or :ref:`FILL_COUNTER_CLOCKWISE<class_TextureProgressBar_constant_FILL_COUNTER_CLOCKWISE>`.
  112. ----
  113. .. _class_TextureProgressBar_property_radial_fill_degrees:
  114. - :ref:`float<class_float>` **radial_fill_degrees**
  115. +-----------+-------------------------+
  116. | *Default* | ``360.0`` |
  117. +-----------+-------------------------+
  118. | *Setter* | set_fill_degrees(value) |
  119. +-----------+-------------------------+
  120. | *Getter* | get_fill_degrees() |
  121. +-----------+-------------------------+
  122. Upper limit for the fill of :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>` if :ref:`fill_mode<class_TextureProgressBar_property_fill_mode>` is :ref:`FILL_CLOCKWISE<class_TextureProgressBar_constant_FILL_CLOCKWISE>` or :ref:`FILL_COUNTER_CLOCKWISE<class_TextureProgressBar_constant_FILL_COUNTER_CLOCKWISE>`. When the node's ``value`` is equal to its ``max_value``, the texture fills up to this angle.
  123. See :ref:`Range.value<class_Range_property_value>`, :ref:`Range.max_value<class_Range_property_max_value>`.
  124. ----
  125. .. _class_TextureProgressBar_property_radial_initial_angle:
  126. - :ref:`float<class_float>` **radial_initial_angle**
  127. +-----------+---------------------------------+
  128. | *Default* | ``0.0`` |
  129. +-----------+---------------------------------+
  130. | *Setter* | set_radial_initial_angle(value) |
  131. +-----------+---------------------------------+
  132. | *Getter* | get_radial_initial_angle() |
  133. +-----------+---------------------------------+
  134. Starting angle for the fill of :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>` if :ref:`fill_mode<class_TextureProgressBar_property_fill_mode>` is :ref:`FILL_CLOCKWISE<class_TextureProgressBar_constant_FILL_CLOCKWISE>` or :ref:`FILL_COUNTER_CLOCKWISE<class_TextureProgressBar_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_TextureProgressBar_property_radial_fill_degrees>`.
  135. ----
  136. .. _class_TextureProgressBar_property_stretch_margin_bottom:
  137. - :ref:`int<class_int>` **stretch_margin_bottom**
  138. +-----------+---------------------------+
  139. | *Default* | ``0`` |
  140. +-----------+---------------------------+
  141. | *Setter* | set_stretch_margin(value) |
  142. +-----------+---------------------------+
  143. | *Getter* | get_stretch_margin() |
  144. +-----------+---------------------------+
  145. 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.
  146. ----
  147. .. _class_TextureProgressBar_property_stretch_margin_left:
  148. - :ref:`int<class_int>` **stretch_margin_left**
  149. +-----------+---------------------------+
  150. | *Default* | ``0`` |
  151. +-----------+---------------------------+
  152. | *Setter* | set_stretch_margin(value) |
  153. +-----------+---------------------------+
  154. | *Getter* | get_stretch_margin() |
  155. +-----------+---------------------------+
  156. The width of the 9-patch's left column.
  157. ----
  158. .. _class_TextureProgressBar_property_stretch_margin_right:
  159. - :ref:`int<class_int>` **stretch_margin_right**
  160. +-----------+---------------------------+
  161. | *Default* | ``0`` |
  162. +-----------+---------------------------+
  163. | *Setter* | set_stretch_margin(value) |
  164. +-----------+---------------------------+
  165. | *Getter* | get_stretch_margin() |
  166. +-----------+---------------------------+
  167. The width of the 9-patch's right column.
  168. ----
  169. .. _class_TextureProgressBar_property_stretch_margin_top:
  170. - :ref:`int<class_int>` **stretch_margin_top**
  171. +-----------+---------------------------+
  172. | *Default* | ``0`` |
  173. +-----------+---------------------------+
  174. | *Setter* | set_stretch_margin(value) |
  175. +-----------+---------------------------+
  176. | *Getter* | get_stretch_margin() |
  177. +-----------+---------------------------+
  178. The height of the 9-patch's top row.
  179. ----
  180. .. _class_TextureProgressBar_property_texture_over:
  181. - :ref:`Texture2D<class_Texture2D>` **texture_over**
  182. +----------+-------------------------+
  183. | *Setter* | set_over_texture(value) |
  184. +----------+-------------------------+
  185. | *Getter* | get_over_texture() |
  186. +----------+-------------------------+
  187. :ref:`Texture2D<class_Texture2D>` that draws over the progress bar. Use it to add highlights or an upper-frame that hides part of :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>`.
  188. ----
  189. .. _class_TextureProgressBar_property_texture_progress:
  190. - :ref:`Texture2D<class_Texture2D>` **texture_progress**
  191. +----------+-----------------------------+
  192. | *Setter* | set_progress_texture(value) |
  193. +----------+-----------------------------+
  194. | *Getter* | get_progress_texture() |
  195. +----------+-----------------------------+
  196. :ref:`Texture2D<class_Texture2D>` that clips based on the node's ``value`` and :ref:`fill_mode<class_TextureProgressBar_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``.
  197. 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>`.
  198. ----
  199. .. _class_TextureProgressBar_property_texture_progress_offset:
  200. - :ref:`Vector2<class_Vector2>` **texture_progress_offset**
  201. +-----------+------------------------------------+
  202. | *Default* | ``Vector2(0, 0)`` |
  203. +-----------+------------------------------------+
  204. | *Setter* | set_texture_progress_offset(value) |
  205. +-----------+------------------------------------+
  206. | *Getter* | get_texture_progress_offset() |
  207. +-----------+------------------------------------+
  208. The offset of :ref:`texture_progress<class_TextureProgressBar_property_texture_progress>`. Useful for :ref:`texture_over<class_TextureProgressBar_property_texture_over>` and :ref:`texture_under<class_TextureProgressBar_property_texture_under>` with fancy borders, to avoid transparent margins in your progress texture.
  209. ----
  210. .. _class_TextureProgressBar_property_texture_under:
  211. - :ref:`Texture2D<class_Texture2D>` **texture_under**
  212. +----------+--------------------------+
  213. | *Setter* | set_under_texture(value) |
  214. +----------+--------------------------+
  215. | *Getter* | get_under_texture() |
  216. +----------+--------------------------+
  217. :ref:`Texture2D<class_Texture2D>` that draws under the progress bar. The bar's background.
  218. ----
  219. .. _class_TextureProgressBar_property_tint_over:
  220. - :ref:`Color<class_Color>` **tint_over**
  221. +-----------+-----------------------+
  222. | *Default* | ``Color(1, 1, 1, 1)`` |
  223. +-----------+-----------------------+
  224. | *Setter* | set_tint_over(value) |
  225. +-----------+-----------------------+
  226. | *Getter* | get_tint_over() |
  227. +-----------+-----------------------+
  228. 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.
  229. ----
  230. .. _class_TextureProgressBar_property_tint_progress:
  231. - :ref:`Color<class_Color>` **tint_progress**
  232. +-----------+--------------------------+
  233. | *Default* | ``Color(1, 1, 1, 1)`` |
  234. +-----------+--------------------------+
  235. | *Setter* | set_tint_progress(value) |
  236. +-----------+--------------------------+
  237. | *Getter* | get_tint_progress() |
  238. +-----------+--------------------------+
  239. Multiplies the color of the bar's ``texture_progress`` texture.
  240. ----
  241. .. _class_TextureProgressBar_property_tint_under:
  242. - :ref:`Color<class_Color>` **tint_under**
  243. +-----------+-----------------------+
  244. | *Default* | ``Color(1, 1, 1, 1)`` |
  245. +-----------+-----------------------+
  246. | *Setter* | set_tint_under(value) |
  247. +-----------+-----------------------+
  248. | *Getter* | get_tint_under() |
  249. +-----------+-----------------------+
  250. Multiplies the color of the bar's ``texture_under`` texture.
  251. Method Descriptions
  252. -------------------
  253. .. _class_TextureProgressBar_method_get_stretch_margin:
  254. - :ref:`int<class_int>` **get_stretch_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
  255. ----
  256. .. _class_TextureProgressBar_method_set_stretch_margin:
  257. - void **set_stretch_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`int<class_int>` value **)**
  258. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  259. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  260. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  261. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  262. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  263. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`