class_styleboxtexture.rst 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470
  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/4.2/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/StyleBoxTexture.xml.
  6. .. _class_StyleBoxTexture:
  7. StyleBoxTexture
  8. ===============
  9. **Inherits:** :ref:`StyleBox<class_StyleBox>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. A texture-based nine-patch :ref:`StyleBox<class_StyleBox>`.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. A texture-based nine-patch :ref:`StyleBox<class_StyleBox>`, in a way similar to :ref:`NinePatchRect<class_NinePatchRect>`. This stylebox performs a 3×3 scaling of a texture, where only the center cell is fully stretched. This makes it possible to design bordered styles regardless of the stylebox's size.
  15. .. rst-class:: classref-reftable-group
  16. Properties
  17. ----------
  18. .. table::
  19. :widths: auto
  20. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  21. | :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` | :ref:`axis_stretch_horizontal<class_StyleBoxTexture_property_axis_stretch_horizontal>` | ``0`` |
  22. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  23. | :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` | :ref:`axis_stretch_vertical<class_StyleBoxTexture_property_axis_stretch_vertical>` | ``0`` |
  24. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  25. | :ref:`bool<class_bool>` | :ref:`draw_center<class_StyleBoxTexture_property_draw_center>` | ``true`` |
  26. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  27. | :ref:`float<class_float>` | :ref:`expand_margin_bottom<class_StyleBoxTexture_property_expand_margin_bottom>` | ``0.0`` |
  28. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  29. | :ref:`float<class_float>` | :ref:`expand_margin_left<class_StyleBoxTexture_property_expand_margin_left>` | ``0.0`` |
  30. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  31. | :ref:`float<class_float>` | :ref:`expand_margin_right<class_StyleBoxTexture_property_expand_margin_right>` | ``0.0`` |
  32. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  33. | :ref:`float<class_float>` | :ref:`expand_margin_top<class_StyleBoxTexture_property_expand_margin_top>` | ``0.0`` |
  34. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  35. | :ref:`Color<class_Color>` | :ref:`modulate_color<class_StyleBoxTexture_property_modulate_color>` | ``Color(1, 1, 1, 1)`` |
  36. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  37. | :ref:`Rect2<class_Rect2>` | :ref:`region_rect<class_StyleBoxTexture_property_region_rect>` | ``Rect2(0, 0, 0, 0)`` |
  38. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  39. | :ref:`Texture2D<class_Texture2D>` | :ref:`texture<class_StyleBoxTexture_property_texture>` | |
  40. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  41. | :ref:`float<class_float>` | :ref:`texture_margin_bottom<class_StyleBoxTexture_property_texture_margin_bottom>` | ``0.0`` |
  42. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  43. | :ref:`float<class_float>` | :ref:`texture_margin_left<class_StyleBoxTexture_property_texture_margin_left>` | ``0.0`` |
  44. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  45. | :ref:`float<class_float>` | :ref:`texture_margin_right<class_StyleBoxTexture_property_texture_margin_right>` | ``0.0`` |
  46. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  47. | :ref:`float<class_float>` | :ref:`texture_margin_top<class_StyleBoxTexture_property_texture_margin_top>` | ``0.0`` |
  48. +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
  49. .. rst-class:: classref-reftable-group
  50. Methods
  51. -------
  52. .. table::
  53. :widths: auto
  54. +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  55. | :ref:`float<class_float>` | :ref:`get_expand_margin<class_StyleBoxTexture_method_get_expand_margin>` **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const| |
  56. +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  57. | :ref:`float<class_float>` | :ref:`get_texture_margin<class_StyleBoxTexture_method_get_texture_margin>` **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const| |
  58. +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  59. | void | :ref:`set_expand_margin<class_StyleBoxTexture_method_set_expand_margin>` **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)** |
  60. +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  61. | void | :ref:`set_expand_margin_all<class_StyleBoxTexture_method_set_expand_margin_all>` **(** :ref:`float<class_float>` size **)** |
  62. +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  63. | void | :ref:`set_texture_margin<class_StyleBoxTexture_method_set_texture_margin>` **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)** |
  64. +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  65. | void | :ref:`set_texture_margin_all<class_StyleBoxTexture_method_set_texture_margin_all>` **(** :ref:`float<class_float>` size **)** |
  66. +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  67. .. rst-class:: classref-section-separator
  68. ----
  69. .. rst-class:: classref-descriptions-group
  70. Enumerations
  71. ------------
  72. .. _enum_StyleBoxTexture_AxisStretchMode:
  73. .. rst-class:: classref-enumeration
  74. enum **AxisStretchMode**:
  75. .. _class_StyleBoxTexture_constant_AXIS_STRETCH_MODE_STRETCH:
  76. .. rst-class:: classref-enumeration-constant
  77. :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **AXIS_STRETCH_MODE_STRETCH** = ``0``
  78. Stretch the stylebox's texture. This results in visible distortion unless the texture size matches the stylebox's size perfectly.
  79. .. _class_StyleBoxTexture_constant_AXIS_STRETCH_MODE_TILE:
  80. .. rst-class:: classref-enumeration-constant
  81. :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **AXIS_STRETCH_MODE_TILE** = ``1``
  82. Repeats the stylebox's texture to match the stylebox's size according to the nine-patch system.
  83. .. _class_StyleBoxTexture_constant_AXIS_STRETCH_MODE_TILE_FIT:
  84. .. rst-class:: classref-enumeration-constant
  85. :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **AXIS_STRETCH_MODE_TILE_FIT** = ``2``
  86. Repeats the stylebox's texture to match the stylebox's size according to the nine-patch system. Unlike :ref:`AXIS_STRETCH_MODE_TILE<class_StyleBoxTexture_constant_AXIS_STRETCH_MODE_TILE>`, the texture may be slightly stretched to make the nine-patch texture tile seamlessly.
  87. .. rst-class:: classref-section-separator
  88. ----
  89. .. rst-class:: classref-descriptions-group
  90. Property Descriptions
  91. ---------------------
  92. .. _class_StyleBoxTexture_property_axis_stretch_horizontal:
  93. .. rst-class:: classref-property
  94. :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **axis_stretch_horizontal** = ``0``
  95. .. rst-class:: classref-property-setget
  96. - void **set_h_axis_stretch_mode** **(** :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` value **)**
  97. - :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **get_h_axis_stretch_mode** **(** **)**
  98. Controls how the stylebox's texture will be stretched or tiled horizontally. See :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` for possible values.
  99. .. rst-class:: classref-item-separator
  100. ----
  101. .. _class_StyleBoxTexture_property_axis_stretch_vertical:
  102. .. rst-class:: classref-property
  103. :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **axis_stretch_vertical** = ``0``
  104. .. rst-class:: classref-property-setget
  105. - void **set_v_axis_stretch_mode** **(** :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` value **)**
  106. - :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **get_v_axis_stretch_mode** **(** **)**
  107. Controls how the stylebox's texture will be stretched or tiled vertically. See :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` for possible values.
  108. .. rst-class:: classref-item-separator
  109. ----
  110. .. _class_StyleBoxTexture_property_draw_center:
  111. .. rst-class:: classref-property
  112. :ref:`bool<class_bool>` **draw_center** = ``true``
  113. .. rst-class:: classref-property-setget
  114. - void **set_draw_center** **(** :ref:`bool<class_bool>` value **)**
  115. - :ref:`bool<class_bool>` **is_draw_center_enabled** **(** **)**
  116. If ``true``, the nine-patch texture's center tile will be drawn.
  117. .. rst-class:: classref-item-separator
  118. ----
  119. .. _class_StyleBoxTexture_property_expand_margin_bottom:
  120. .. rst-class:: classref-property
  121. :ref:`float<class_float>` **expand_margin_bottom** = ``0.0``
  122. .. rst-class:: classref-property-setget
  123. - void **set_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
  124. - :ref:`float<class_float>` **get_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
  125. Expands the bottom margin of this style box when drawing, causing it to be drawn larger than requested.
  126. .. rst-class:: classref-item-separator
  127. ----
  128. .. _class_StyleBoxTexture_property_expand_margin_left:
  129. .. rst-class:: classref-property
  130. :ref:`float<class_float>` **expand_margin_left** = ``0.0``
  131. .. rst-class:: classref-property-setget
  132. - void **set_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
  133. - :ref:`float<class_float>` **get_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
  134. Expands the left margin of this style box when drawing, causing it to be drawn larger than requested.
  135. .. rst-class:: classref-item-separator
  136. ----
  137. .. _class_StyleBoxTexture_property_expand_margin_right:
  138. .. rst-class:: classref-property
  139. :ref:`float<class_float>` **expand_margin_right** = ``0.0``
  140. .. rst-class:: classref-property-setget
  141. - void **set_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
  142. - :ref:`float<class_float>` **get_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
  143. Expands the right margin of this style box when drawing, causing it to be drawn larger than requested.
  144. .. rst-class:: classref-item-separator
  145. ----
  146. .. _class_StyleBoxTexture_property_expand_margin_top:
  147. .. rst-class:: classref-property
  148. :ref:`float<class_float>` **expand_margin_top** = ``0.0``
  149. .. rst-class:: classref-property-setget
  150. - void **set_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
  151. - :ref:`float<class_float>` **get_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
  152. Expands the top margin of this style box when drawing, causing it to be drawn larger than requested.
  153. .. rst-class:: classref-item-separator
  154. ----
  155. .. _class_StyleBoxTexture_property_modulate_color:
  156. .. rst-class:: classref-property
  157. :ref:`Color<class_Color>` **modulate_color** = ``Color(1, 1, 1, 1)``
  158. .. rst-class:: classref-property-setget
  159. - void **set_modulate** **(** :ref:`Color<class_Color>` value **)**
  160. - :ref:`Color<class_Color>` **get_modulate** **(** **)**
  161. Modulates the color of the texture when this style box is drawn.
  162. .. rst-class:: classref-item-separator
  163. ----
  164. .. _class_StyleBoxTexture_property_region_rect:
  165. .. rst-class:: classref-property
  166. :ref:`Rect2<class_Rect2>` **region_rect** = ``Rect2(0, 0, 0, 0)``
  167. .. rst-class:: classref-property-setget
  168. - void **set_region_rect** **(** :ref:`Rect2<class_Rect2>` value **)**
  169. - :ref:`Rect2<class_Rect2>` **get_region_rect** **(** **)**
  170. Species a sub-region of the texture to use.
  171. This is equivalent to first wrapping the texture in an :ref:`AtlasTexture<class_AtlasTexture>` with the same region.
  172. If empty (``Rect2(0, 0, 0, 0)``), the whole texture will be used.
  173. .. rst-class:: classref-item-separator
  174. ----
  175. .. _class_StyleBoxTexture_property_texture:
  176. .. rst-class:: classref-property
  177. :ref:`Texture2D<class_Texture2D>` **texture**
  178. .. rst-class:: classref-property-setget
  179. - void **set_texture** **(** :ref:`Texture2D<class_Texture2D>` value **)**
  180. - :ref:`Texture2D<class_Texture2D>` **get_texture** **(** **)**
  181. The texture to use when drawing this style box.
  182. .. rst-class:: classref-item-separator
  183. ----
  184. .. _class_StyleBoxTexture_property_texture_margin_bottom:
  185. .. rst-class:: classref-property
  186. :ref:`float<class_float>` **texture_margin_bottom** = ``0.0``
  187. .. rst-class:: classref-property-setget
  188. - void **set_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
  189. - :ref:`float<class_float>` **get_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
  190. Increases the bottom margin of the 3×3 texture box.
  191. A higher value means more of the source texture is considered to be part of the bottom border of the 3×3 box.
  192. This is also the value used as fallback for :ref:`StyleBox.content_margin_bottom<class_StyleBox_property_content_margin_bottom>` if it is negative.
  193. .. rst-class:: classref-item-separator
  194. ----
  195. .. _class_StyleBoxTexture_property_texture_margin_left:
  196. .. rst-class:: classref-property
  197. :ref:`float<class_float>` **texture_margin_left** = ``0.0``
  198. .. rst-class:: classref-property-setget
  199. - void **set_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
  200. - :ref:`float<class_float>` **get_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
  201. Increases the left margin of the 3×3 texture box.
  202. A higher value means more of the source texture is considered to be part of the left border of the 3×3 box.
  203. This is also the value used as fallback for :ref:`StyleBox.content_margin_left<class_StyleBox_property_content_margin_left>` if it is negative.
  204. .. rst-class:: classref-item-separator
  205. ----
  206. .. _class_StyleBoxTexture_property_texture_margin_right:
  207. .. rst-class:: classref-property
  208. :ref:`float<class_float>` **texture_margin_right** = ``0.0``
  209. .. rst-class:: classref-property-setget
  210. - void **set_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
  211. - :ref:`float<class_float>` **get_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
  212. Increases the right margin of the 3×3 texture box.
  213. A higher value means more of the source texture is considered to be part of the right border of the 3×3 box.
  214. This is also the value used as fallback for :ref:`StyleBox.content_margin_right<class_StyleBox_property_content_margin_right>` if it is negative.
  215. .. rst-class:: classref-item-separator
  216. ----
  217. .. _class_StyleBoxTexture_property_texture_margin_top:
  218. .. rst-class:: classref-property
  219. :ref:`float<class_float>` **texture_margin_top** = ``0.0``
  220. .. rst-class:: classref-property-setget
  221. - void **set_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
  222. - :ref:`float<class_float>` **get_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
  223. Increases the top margin of the 3×3 texture box.
  224. A higher value means more of the source texture is considered to be part of the top border of the 3×3 box.
  225. This is also the value used as fallback for :ref:`StyleBox.content_margin_top<class_StyleBox_property_content_margin_top>` if it is negative.
  226. .. rst-class:: classref-section-separator
  227. ----
  228. .. rst-class:: classref-descriptions-group
  229. Method Descriptions
  230. -------------------
  231. .. _class_StyleBoxTexture_method_get_expand_margin:
  232. .. rst-class:: classref-method
  233. :ref:`float<class_float>` **get_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
  234. Returns the expand margin size of the specified :ref:`Side<enum_@GlobalScope_Side>`.
  235. .. rst-class:: classref-item-separator
  236. ----
  237. .. _class_StyleBoxTexture_method_get_texture_margin:
  238. .. rst-class:: classref-method
  239. :ref:`float<class_float>` **get_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
  240. Returns the margin size of the specified :ref:`Side<enum_@GlobalScope_Side>`.
  241. .. rst-class:: classref-item-separator
  242. ----
  243. .. _class_StyleBoxTexture_method_set_expand_margin:
  244. .. rst-class:: classref-method
  245. void **set_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
  246. Sets the expand margin to ``size`` pixels for the specified :ref:`Side<enum_@GlobalScope_Side>`.
  247. .. rst-class:: classref-item-separator
  248. ----
  249. .. _class_StyleBoxTexture_method_set_expand_margin_all:
  250. .. rst-class:: classref-method
  251. void **set_expand_margin_all** **(** :ref:`float<class_float>` size **)**
  252. Sets the expand margin to ``size`` pixels for all sides.
  253. .. rst-class:: classref-item-separator
  254. ----
  255. .. _class_StyleBoxTexture_method_set_texture_margin:
  256. .. rst-class:: classref-method
  257. void **set_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
  258. Sets the margin to ``size`` pixels for the specified :ref:`Side<enum_@GlobalScope_Side>`.
  259. .. rst-class:: classref-item-separator
  260. ----
  261. .. _class_StyleBoxTexture_method_set_texture_margin_all:
  262. .. rst-class:: classref-method
  263. void **set_texture_margin_all** **(** :ref:`float<class_float>` size **)**
  264. Sets the margin to ``size`` pixels for all sides.
  265. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  266. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  267. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  268. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  269. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  270. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  271. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`