class_label.rst 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709
  1. :github_url: hide
  2. .. meta::
  3. :keywords: text
  4. .. DO NOT EDIT THIS FILE!!!
  5. .. Generated automatically from Godot engine sources.
  6. .. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py.
  7. .. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Label.xml.
  8. .. _class_Label:
  9. Label
  10. =====
  11. **Inherits:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  12. A control for displaying plain text.
  13. .. rst-class:: classref-introduction-group
  14. Description
  15. -----------
  16. A control for displaying plain text. It gives you control over the horizontal and vertical alignment and can wrap the text inside the node's bounding rectangle. It doesn't support bold, italics, or other rich text formatting. For that, use :ref:`RichTextLabel<class_RichTextLabel>` instead.
  17. .. rst-class:: classref-introduction-group
  18. Tutorials
  19. ---------
  20. - `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/2712>`__
  21. .. rst-class:: classref-reftable-group
  22. Properties
  23. ----------
  24. .. table::
  25. :widths: auto
  26. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  27. | :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` | :ref:`autowrap_mode<class_Label_property_autowrap_mode>` | ``0`` |
  28. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  29. | :ref:`bool<class_bool>` | :ref:`clip_text<class_Label_property_clip_text>` | ``false`` |
  30. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  31. | :ref:`String<class_String>` | :ref:`ellipsis_char<class_Label_property_ellipsis_char>` | ``"…"`` |
  32. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  33. | :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` | :ref:`horizontal_alignment<class_Label_property_horizontal_alignment>` | ``0`` |
  34. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  35. | |bitfield|\[:ref:`JustificationFlag<enum_TextServer_JustificationFlag>`\] | :ref:`justification_flags<class_Label_property_justification_flags>` | ``163`` |
  36. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  37. | :ref:`LabelSettings<class_LabelSettings>` | :ref:`label_settings<class_Label_property_label_settings>` | |
  38. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  39. | :ref:`String<class_String>` | :ref:`language<class_Label_property_language>` | ``""`` |
  40. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  41. | :ref:`int<class_int>` | :ref:`lines_skipped<class_Label_property_lines_skipped>` | ``0`` |
  42. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  43. | :ref:`int<class_int>` | :ref:`max_lines_visible<class_Label_property_max_lines_visible>` | ``-1`` |
  44. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  45. | :ref:`MouseFilter<enum_Control_MouseFilter>` | mouse_filter | ``2`` (overrides :ref:`Control<class_Control_property_mouse_filter>`) |
  46. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  47. | |bitfield|\[:ref:`SizeFlags<enum_Control_SizeFlags>`\] | size_flags_vertical | ``4`` (overrides :ref:`Control<class_Control_property_size_flags_vertical>`) |
  48. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  49. | :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` | :ref:`structured_text_bidi_override<class_Label_property_structured_text_bidi_override>` | ``0`` |
  50. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  51. | :ref:`Array<class_Array>` | :ref:`structured_text_bidi_override_options<class_Label_property_structured_text_bidi_override_options>` | ``[]`` |
  52. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  53. | :ref:`PackedFloat32Array<class_PackedFloat32Array>` | :ref:`tab_stops<class_Label_property_tab_stops>` | ``PackedFloat32Array()`` |
  54. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  55. | :ref:`String<class_String>` | :ref:`text<class_Label_property_text>` | ``""`` |
  56. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  57. | :ref:`TextDirection<enum_Control_TextDirection>` | :ref:`text_direction<class_Label_property_text_direction>` | ``0`` |
  58. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  59. | :ref:`OverrunBehavior<enum_TextServer_OverrunBehavior>` | :ref:`text_overrun_behavior<class_Label_property_text_overrun_behavior>` | ``0`` |
  60. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  61. | :ref:`bool<class_bool>` | :ref:`uppercase<class_Label_property_uppercase>` | ``false`` |
  62. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  63. | :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` | :ref:`vertical_alignment<class_Label_property_vertical_alignment>` | ``0`` |
  64. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  65. | :ref:`int<class_int>` | :ref:`visible_characters<class_Label_property_visible_characters>` | ``-1`` |
  66. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  67. | :ref:`VisibleCharactersBehavior<enum_TextServer_VisibleCharactersBehavior>` | :ref:`visible_characters_behavior<class_Label_property_visible_characters_behavior>` | ``0`` |
  68. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  69. | :ref:`float<class_float>` | :ref:`visible_ratio<class_Label_property_visible_ratio>` | ``1.0`` |
  70. +-----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
  71. .. rst-class:: classref-reftable-group
  72. Methods
  73. -------
  74. .. table::
  75. :widths: auto
  76. +---------------------------+-----------------------------------------------------------------------------------------------------------------+
  77. | :ref:`Rect2<class_Rect2>` | :ref:`get_character_bounds<class_Label_method_get_character_bounds>`\ (\ pos\: :ref:`int<class_int>`\ ) |const| |
  78. +---------------------------+-----------------------------------------------------------------------------------------------------------------+
  79. | :ref:`int<class_int>` | :ref:`get_line_count<class_Label_method_get_line_count>`\ (\ ) |const| |
  80. +---------------------------+-----------------------------------------------------------------------------------------------------------------+
  81. | :ref:`int<class_int>` | :ref:`get_line_height<class_Label_method_get_line_height>`\ (\ line\: :ref:`int<class_int>` = -1\ ) |const| |
  82. +---------------------------+-----------------------------------------------------------------------------------------------------------------+
  83. | :ref:`int<class_int>` | :ref:`get_total_character_count<class_Label_method_get_total_character_count>`\ (\ ) |const| |
  84. +---------------------------+-----------------------------------------------------------------------------------------------------------------+
  85. | :ref:`int<class_int>` | :ref:`get_visible_line_count<class_Label_method_get_visible_line_count>`\ (\ ) |const| |
  86. +---------------------------+-----------------------------------------------------------------------------------------------------------------+
  87. .. rst-class:: classref-reftable-group
  88. Theme Properties
  89. ----------------
  90. .. table::
  91. :widths: auto
  92. +---------------------------------+----------------------------------------------------------------------------+-----------------------+
  93. | :ref:`Color<class_Color>` | :ref:`font_color<class_Label_theme_color_font_color>` | ``Color(1, 1, 1, 1)`` |
  94. +---------------------------------+----------------------------------------------------------------------------+-----------------------+
  95. | :ref:`Color<class_Color>` | :ref:`font_outline_color<class_Label_theme_color_font_outline_color>` | ``Color(0, 0, 0, 1)`` |
  96. +---------------------------------+----------------------------------------------------------------------------+-----------------------+
  97. | :ref:`Color<class_Color>` | :ref:`font_shadow_color<class_Label_theme_color_font_shadow_color>` | ``Color(0, 0, 0, 0)`` |
  98. +---------------------------------+----------------------------------------------------------------------------+-----------------------+
  99. | :ref:`int<class_int>` | :ref:`line_spacing<class_Label_theme_constant_line_spacing>` | ``3`` |
  100. +---------------------------------+----------------------------------------------------------------------------+-----------------------+
  101. | :ref:`int<class_int>` | :ref:`outline_size<class_Label_theme_constant_outline_size>` | ``0`` |
  102. +---------------------------------+----------------------------------------------------------------------------+-----------------------+
  103. | :ref:`int<class_int>` | :ref:`shadow_offset_x<class_Label_theme_constant_shadow_offset_x>` | ``1`` |
  104. +---------------------------------+----------------------------------------------------------------------------+-----------------------+
  105. | :ref:`int<class_int>` | :ref:`shadow_offset_y<class_Label_theme_constant_shadow_offset_y>` | ``1`` |
  106. +---------------------------------+----------------------------------------------------------------------------+-----------------------+
  107. | :ref:`int<class_int>` | :ref:`shadow_outline_size<class_Label_theme_constant_shadow_outline_size>` | ``1`` |
  108. +---------------------------------+----------------------------------------------------------------------------+-----------------------+
  109. | :ref:`Font<class_Font>` | :ref:`font<class_Label_theme_font_font>` | |
  110. +---------------------------------+----------------------------------------------------------------------------+-----------------------+
  111. | :ref:`int<class_int>` | :ref:`font_size<class_Label_theme_font_size_font_size>` | |
  112. +---------------------------------+----------------------------------------------------------------------------+-----------------------+
  113. | :ref:`StyleBox<class_StyleBox>` | :ref:`normal<class_Label_theme_style_normal>` | |
  114. +---------------------------------+----------------------------------------------------------------------------+-----------------------+
  115. .. rst-class:: classref-section-separator
  116. ----
  117. .. rst-class:: classref-descriptions-group
  118. Property Descriptions
  119. ---------------------
  120. .. _class_Label_property_autowrap_mode:
  121. .. rst-class:: classref-property
  122. :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` **autowrap_mode** = ``0`` :ref:`🔗<class_Label_property_autowrap_mode>`
  123. .. rst-class:: classref-property-setget
  124. - |void| **set_autowrap_mode**\ (\ value\: :ref:`AutowrapMode<enum_TextServer_AutowrapMode>`\ )
  125. - :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` **get_autowrap_mode**\ (\ )
  126. If set to something other than :ref:`TextServer.AUTOWRAP_OFF<class_TextServer_constant_AUTOWRAP_OFF>`, the text gets wrapped inside the node's bounding rectangle. If you resize the node, it will change its height automatically to show all the text. To see how each mode behaves, see :ref:`AutowrapMode<enum_TextServer_AutowrapMode>`.
  127. .. rst-class:: classref-item-separator
  128. ----
  129. .. _class_Label_property_clip_text:
  130. .. rst-class:: classref-property
  131. :ref:`bool<class_bool>` **clip_text** = ``false`` :ref:`🔗<class_Label_property_clip_text>`
  132. .. rst-class:: classref-property-setget
  133. - |void| **set_clip_text**\ (\ value\: :ref:`bool<class_bool>`\ )
  134. - :ref:`bool<class_bool>` **is_clipping_text**\ (\ )
  135. If ``true``, the Label only shows the text that fits inside its bounding rectangle and will clip text horizontally.
  136. .. rst-class:: classref-item-separator
  137. ----
  138. .. _class_Label_property_ellipsis_char:
  139. .. rst-class:: classref-property
  140. :ref:`String<class_String>` **ellipsis_char** = ``"…"`` :ref:`🔗<class_Label_property_ellipsis_char>`
  141. .. rst-class:: classref-property-setget
  142. - |void| **set_ellipsis_char**\ (\ value\: :ref:`String<class_String>`\ )
  143. - :ref:`String<class_String>` **get_ellipsis_char**\ (\ )
  144. Ellipsis character used for text clipping.
  145. .. rst-class:: classref-item-separator
  146. ----
  147. .. _class_Label_property_horizontal_alignment:
  148. .. rst-class:: classref-property
  149. :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **horizontal_alignment** = ``0`` :ref:`🔗<class_Label_property_horizontal_alignment>`
  150. .. rst-class:: classref-property-setget
  151. - |void| **set_horizontal_alignment**\ (\ value\: :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>`\ )
  152. - :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **get_horizontal_alignment**\ (\ )
  153. Controls the text's horizontal alignment. Supports left, center, right, and fill, or justify. Set it to one of the :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` constants.
  154. .. rst-class:: classref-item-separator
  155. ----
  156. .. _class_Label_property_justification_flags:
  157. .. rst-class:: classref-property
  158. |bitfield|\[:ref:`JustificationFlag<enum_TextServer_JustificationFlag>`\] **justification_flags** = ``163`` :ref:`🔗<class_Label_property_justification_flags>`
  159. .. rst-class:: classref-property-setget
  160. - |void| **set_justification_flags**\ (\ value\: |bitfield|\[:ref:`JustificationFlag<enum_TextServer_JustificationFlag>`\]\ )
  161. - |bitfield|\[:ref:`JustificationFlag<enum_TextServer_JustificationFlag>`\] **get_justification_flags**\ (\ )
  162. Line fill alignment rules. For more info see :ref:`JustificationFlag<enum_TextServer_JustificationFlag>`.
  163. .. rst-class:: classref-item-separator
  164. ----
  165. .. _class_Label_property_label_settings:
  166. .. rst-class:: classref-property
  167. :ref:`LabelSettings<class_LabelSettings>` **label_settings** :ref:`🔗<class_Label_property_label_settings>`
  168. .. rst-class:: classref-property-setget
  169. - |void| **set_label_settings**\ (\ value\: :ref:`LabelSettings<class_LabelSettings>`\ )
  170. - :ref:`LabelSettings<class_LabelSettings>` **get_label_settings**\ (\ )
  171. A :ref:`LabelSettings<class_LabelSettings>` resource that can be shared between multiple **Label** nodes. Takes priority over theme properties.
  172. .. rst-class:: classref-item-separator
  173. ----
  174. .. _class_Label_property_language:
  175. .. rst-class:: classref-property
  176. :ref:`String<class_String>` **language** = ``""`` :ref:`🔗<class_Label_property_language>`
  177. .. rst-class:: classref-property-setget
  178. - |void| **set_language**\ (\ value\: :ref:`String<class_String>`\ )
  179. - :ref:`String<class_String>` **get_language**\ (\ )
  180. Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
  181. .. rst-class:: classref-item-separator
  182. ----
  183. .. _class_Label_property_lines_skipped:
  184. .. rst-class:: classref-property
  185. :ref:`int<class_int>` **lines_skipped** = ``0`` :ref:`🔗<class_Label_property_lines_skipped>`
  186. .. rst-class:: classref-property-setget
  187. - |void| **set_lines_skipped**\ (\ value\: :ref:`int<class_int>`\ )
  188. - :ref:`int<class_int>` **get_lines_skipped**\ (\ )
  189. The number of the lines ignored and not displayed from the start of the :ref:`text<class_Label_property_text>` value.
  190. .. rst-class:: classref-item-separator
  191. ----
  192. .. _class_Label_property_max_lines_visible:
  193. .. rst-class:: classref-property
  194. :ref:`int<class_int>` **max_lines_visible** = ``-1`` :ref:`🔗<class_Label_property_max_lines_visible>`
  195. .. rst-class:: classref-property-setget
  196. - |void| **set_max_lines_visible**\ (\ value\: :ref:`int<class_int>`\ )
  197. - :ref:`int<class_int>` **get_max_lines_visible**\ (\ )
  198. Limits the lines of text the node shows on screen.
  199. .. rst-class:: classref-item-separator
  200. ----
  201. .. _class_Label_property_structured_text_bidi_override:
  202. .. rst-class:: classref-property
  203. :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` **structured_text_bidi_override** = ``0`` :ref:`🔗<class_Label_property_structured_text_bidi_override>`
  204. .. rst-class:: classref-property-setget
  205. - |void| **set_structured_text_bidi_override**\ (\ value\: :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>`\ )
  206. - :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` **get_structured_text_bidi_override**\ (\ )
  207. Set BiDi algorithm override for the structured text.
  208. .. rst-class:: classref-item-separator
  209. ----
  210. .. _class_Label_property_structured_text_bidi_override_options:
  211. .. rst-class:: classref-property
  212. :ref:`Array<class_Array>` **structured_text_bidi_override_options** = ``[]`` :ref:`🔗<class_Label_property_structured_text_bidi_override_options>`
  213. .. rst-class:: classref-property-setget
  214. - |void| **set_structured_text_bidi_override_options**\ (\ value\: :ref:`Array<class_Array>`\ )
  215. - :ref:`Array<class_Array>` **get_structured_text_bidi_override_options**\ (\ )
  216. Set additional options for BiDi override.
  217. .. rst-class:: classref-item-separator
  218. ----
  219. .. _class_Label_property_tab_stops:
  220. .. rst-class:: classref-property
  221. :ref:`PackedFloat32Array<class_PackedFloat32Array>` **tab_stops** = ``PackedFloat32Array()`` :ref:`🔗<class_Label_property_tab_stops>`
  222. .. rst-class:: classref-property-setget
  223. - |void| **set_tab_stops**\ (\ value\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ )
  224. - :ref:`PackedFloat32Array<class_PackedFloat32Array>` **get_tab_stops**\ (\ )
  225. Aligns text to the given tab-stops.
  226. **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedFloat32Array<class_PackedFloat32Array>` for more details.
  227. .. rst-class:: classref-item-separator
  228. ----
  229. .. _class_Label_property_text:
  230. .. rst-class:: classref-property
  231. :ref:`String<class_String>` **text** = ``""`` :ref:`🔗<class_Label_property_text>`
  232. .. rst-class:: classref-property-setget
  233. - |void| **set_text**\ (\ value\: :ref:`String<class_String>`\ )
  234. - :ref:`String<class_String>` **get_text**\ (\ )
  235. The text to display on screen.
  236. .. rst-class:: classref-item-separator
  237. ----
  238. .. _class_Label_property_text_direction:
  239. .. rst-class:: classref-property
  240. :ref:`TextDirection<enum_Control_TextDirection>` **text_direction** = ``0`` :ref:`🔗<class_Label_property_text_direction>`
  241. .. rst-class:: classref-property-setget
  242. - |void| **set_text_direction**\ (\ value\: :ref:`TextDirection<enum_Control_TextDirection>`\ )
  243. - :ref:`TextDirection<enum_Control_TextDirection>` **get_text_direction**\ (\ )
  244. Base text writing direction.
  245. .. rst-class:: classref-item-separator
  246. ----
  247. .. _class_Label_property_text_overrun_behavior:
  248. .. rst-class:: classref-property
  249. :ref:`OverrunBehavior<enum_TextServer_OverrunBehavior>` **text_overrun_behavior** = ``0`` :ref:`🔗<class_Label_property_text_overrun_behavior>`
  250. .. rst-class:: classref-property-setget
  251. - |void| **set_text_overrun_behavior**\ (\ value\: :ref:`OverrunBehavior<enum_TextServer_OverrunBehavior>`\ )
  252. - :ref:`OverrunBehavior<enum_TextServer_OverrunBehavior>` **get_text_overrun_behavior**\ (\ )
  253. Sets the clipping behavior when the text exceeds the node's bounding rectangle. See :ref:`OverrunBehavior<enum_TextServer_OverrunBehavior>` for a description of all modes.
  254. .. rst-class:: classref-item-separator
  255. ----
  256. .. _class_Label_property_uppercase:
  257. .. rst-class:: classref-property
  258. :ref:`bool<class_bool>` **uppercase** = ``false`` :ref:`🔗<class_Label_property_uppercase>`
  259. .. rst-class:: classref-property-setget
  260. - |void| **set_uppercase**\ (\ value\: :ref:`bool<class_bool>`\ )
  261. - :ref:`bool<class_bool>` **is_uppercase**\ (\ )
  262. If ``true``, all the text displays as UPPERCASE.
  263. .. rst-class:: classref-item-separator
  264. ----
  265. .. _class_Label_property_vertical_alignment:
  266. .. rst-class:: classref-property
  267. :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` **vertical_alignment** = ``0`` :ref:`🔗<class_Label_property_vertical_alignment>`
  268. .. rst-class:: classref-property-setget
  269. - |void| **set_vertical_alignment**\ (\ value\: :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>`\ )
  270. - :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` **get_vertical_alignment**\ (\ )
  271. Controls the text's vertical alignment. Supports top, center, bottom, and fill. Set it to one of the :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` constants.
  272. .. rst-class:: classref-item-separator
  273. ----
  274. .. _class_Label_property_visible_characters:
  275. .. rst-class:: classref-property
  276. :ref:`int<class_int>` **visible_characters** = ``-1`` :ref:`🔗<class_Label_property_visible_characters>`
  277. .. rst-class:: classref-property-setget
  278. - |void| **set_visible_characters**\ (\ value\: :ref:`int<class_int>`\ )
  279. - :ref:`int<class_int>` **get_visible_characters**\ (\ )
  280. The number of characters to display. If set to ``-1``, all characters are displayed. This can be useful when animating the text appearing in a dialog box.
  281. \ **Note:** Setting this property updates :ref:`visible_ratio<class_Label_property_visible_ratio>` accordingly.
  282. .. rst-class:: classref-item-separator
  283. ----
  284. .. _class_Label_property_visible_characters_behavior:
  285. .. rst-class:: classref-property
  286. :ref:`VisibleCharactersBehavior<enum_TextServer_VisibleCharactersBehavior>` **visible_characters_behavior** = ``0`` :ref:`🔗<class_Label_property_visible_characters_behavior>`
  287. .. rst-class:: classref-property-setget
  288. - |void| **set_visible_characters_behavior**\ (\ value\: :ref:`VisibleCharactersBehavior<enum_TextServer_VisibleCharactersBehavior>`\ )
  289. - :ref:`VisibleCharactersBehavior<enum_TextServer_VisibleCharactersBehavior>` **get_visible_characters_behavior**\ (\ )
  290. Sets the clipping behavior when :ref:`visible_characters<class_Label_property_visible_characters>` or :ref:`visible_ratio<class_Label_property_visible_ratio>` is set. See :ref:`VisibleCharactersBehavior<enum_TextServer_VisibleCharactersBehavior>` for more info.
  291. .. rst-class:: classref-item-separator
  292. ----
  293. .. _class_Label_property_visible_ratio:
  294. .. rst-class:: classref-property
  295. :ref:`float<class_float>` **visible_ratio** = ``1.0`` :ref:`🔗<class_Label_property_visible_ratio>`
  296. .. rst-class:: classref-property-setget
  297. - |void| **set_visible_ratio**\ (\ value\: :ref:`float<class_float>`\ )
  298. - :ref:`float<class_float>` **get_visible_ratio**\ (\ )
  299. The fraction of characters to display, relative to the total number of characters (see :ref:`get_total_character_count<class_Label_method_get_total_character_count>`). If set to ``1.0``, all characters are displayed. If set to ``0.5``, only half of the characters will be displayed. This can be useful when animating the text appearing in a dialog box.
  300. \ **Note:** Setting this property updates :ref:`visible_characters<class_Label_property_visible_characters>` accordingly.
  301. .. rst-class:: classref-section-separator
  302. ----
  303. .. rst-class:: classref-descriptions-group
  304. Method Descriptions
  305. -------------------
  306. .. _class_Label_method_get_character_bounds:
  307. .. rst-class:: classref-method
  308. :ref:`Rect2<class_Rect2>` **get_character_bounds**\ (\ pos\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Label_method_get_character_bounds>`
  309. Returns the bounding rectangle of the character at position ``pos``. If the character is a non-visual character or ``pos`` is outside the valid range, an empty :ref:`Rect2<class_Rect2>` is returned. If the character is a part of a composite grapheme, the bounding rectangle of the whole grapheme is returned.
  310. .. rst-class:: classref-item-separator
  311. ----
  312. .. _class_Label_method_get_line_count:
  313. .. rst-class:: classref-method
  314. :ref:`int<class_int>` **get_line_count**\ (\ ) |const| :ref:`🔗<class_Label_method_get_line_count>`
  315. Returns the number of lines of text the Label has.
  316. .. rst-class:: classref-item-separator
  317. ----
  318. .. _class_Label_method_get_line_height:
  319. .. rst-class:: classref-method
  320. :ref:`int<class_int>` **get_line_height**\ (\ line\: :ref:`int<class_int>` = -1\ ) |const| :ref:`🔗<class_Label_method_get_line_height>`
  321. Returns the height of the line ``line``.
  322. If ``line`` is set to ``-1``, returns the biggest line height.
  323. If there are no lines, returns font size in pixels.
  324. .. rst-class:: classref-item-separator
  325. ----
  326. .. _class_Label_method_get_total_character_count:
  327. .. rst-class:: classref-method
  328. :ref:`int<class_int>` **get_total_character_count**\ (\ ) |const| :ref:`🔗<class_Label_method_get_total_character_count>`
  329. Returns the total number of printable characters in the text (excluding spaces and newlines).
  330. .. rst-class:: classref-item-separator
  331. ----
  332. .. _class_Label_method_get_visible_line_count:
  333. .. rst-class:: classref-method
  334. :ref:`int<class_int>` **get_visible_line_count**\ (\ ) |const| :ref:`🔗<class_Label_method_get_visible_line_count>`
  335. Returns the number of lines shown. Useful if the **Label**'s height cannot currently display all lines.
  336. .. rst-class:: classref-section-separator
  337. ----
  338. .. rst-class:: classref-descriptions-group
  339. Theme Property Descriptions
  340. ---------------------------
  341. .. _class_Label_theme_color_font_color:
  342. .. rst-class:: classref-themeproperty
  343. :ref:`Color<class_Color>` **font_color** = ``Color(1, 1, 1, 1)`` :ref:`🔗<class_Label_theme_color_font_color>`
  344. Default text :ref:`Color<class_Color>` of the **Label**.
  345. .. rst-class:: classref-item-separator
  346. ----
  347. .. _class_Label_theme_color_font_outline_color:
  348. .. rst-class:: classref-themeproperty
  349. :ref:`Color<class_Color>` **font_outline_color** = ``Color(0, 0, 0, 1)`` :ref:`🔗<class_Label_theme_color_font_outline_color>`
  350. The color of text outline.
  351. .. rst-class:: classref-item-separator
  352. ----
  353. .. _class_Label_theme_color_font_shadow_color:
  354. .. rst-class:: classref-themeproperty
  355. :ref:`Color<class_Color>` **font_shadow_color** = ``Color(0, 0, 0, 0)`` :ref:`🔗<class_Label_theme_color_font_shadow_color>`
  356. :ref:`Color<class_Color>` of the text's shadow effect.
  357. .. rst-class:: classref-item-separator
  358. ----
  359. .. _class_Label_theme_constant_line_spacing:
  360. .. rst-class:: classref-themeproperty
  361. :ref:`int<class_int>` **line_spacing** = ``3`` :ref:`🔗<class_Label_theme_constant_line_spacing>`
  362. Vertical space between lines in multiline **Label**.
  363. .. rst-class:: classref-item-separator
  364. ----
  365. .. _class_Label_theme_constant_outline_size:
  366. .. rst-class:: classref-themeproperty
  367. :ref:`int<class_int>` **outline_size** = ``0`` :ref:`🔗<class_Label_theme_constant_outline_size>`
  368. Text outline size.
  369. \ **Note:** If using a font with :ref:`FontFile.multichannel_signed_distance_field<class_FontFile_property_multichannel_signed_distance_field>` enabled, its :ref:`FontFile.msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` must be set to at least *twice* the value of :ref:`outline_size<class_Label_theme_constant_outline_size>` for outline rendering to look correct. Otherwise, the outline may appear to be cut off earlier than intended.
  370. \ **Note:** Using a value that is larger than half the font size is not recommended, as the font outline may fail to be fully closed in this case.
  371. .. rst-class:: classref-item-separator
  372. ----
  373. .. _class_Label_theme_constant_shadow_offset_x:
  374. .. rst-class:: classref-themeproperty
  375. :ref:`int<class_int>` **shadow_offset_x** = ``1`` :ref:`🔗<class_Label_theme_constant_shadow_offset_x>`
  376. The horizontal offset of the text's shadow.
  377. .. rst-class:: classref-item-separator
  378. ----
  379. .. _class_Label_theme_constant_shadow_offset_y:
  380. .. rst-class:: classref-themeproperty
  381. :ref:`int<class_int>` **shadow_offset_y** = ``1`` :ref:`🔗<class_Label_theme_constant_shadow_offset_y>`
  382. The vertical offset of the text's shadow.
  383. .. rst-class:: classref-item-separator
  384. ----
  385. .. _class_Label_theme_constant_shadow_outline_size:
  386. .. rst-class:: classref-themeproperty
  387. :ref:`int<class_int>` **shadow_outline_size** = ``1`` :ref:`🔗<class_Label_theme_constant_shadow_outline_size>`
  388. The size of the shadow outline.
  389. .. rst-class:: classref-item-separator
  390. ----
  391. .. _class_Label_theme_font_font:
  392. .. rst-class:: classref-themeproperty
  393. :ref:`Font<class_Font>` **font** :ref:`🔗<class_Label_theme_font_font>`
  394. :ref:`Font<class_Font>` used for the **Label**'s text.
  395. .. rst-class:: classref-item-separator
  396. ----
  397. .. _class_Label_theme_font_size_font_size:
  398. .. rst-class:: classref-themeproperty
  399. :ref:`int<class_int>` **font_size** :ref:`🔗<class_Label_theme_font_size_font_size>`
  400. Font size of the **Label**'s text.
  401. .. rst-class:: classref-item-separator
  402. ----
  403. .. _class_Label_theme_style_normal:
  404. .. rst-class:: classref-themeproperty
  405. :ref:`StyleBox<class_StyleBox>` **normal** :ref:`🔗<class_Label_theme_style_normal>`
  406. Background :ref:`StyleBox<class_StyleBox>` for the **Label**.
  407. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  408. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  409. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  410. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  411. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  412. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  413. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  414. .. |void| replace:: :abbr:`void (No return value.)`