:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the RichTextLabel.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_RichTextLabel: RichTextLabel ============= **Inherits:** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` Label that displays rich text. Description ----------- Rich text can contain custom text, fonts, images and some basic formatting. The label manages these as an internal tag stack. It also adapts itself to given width/heights. **Note:** Assignments to :ref:`bbcode_text` clear the tag stack and reconstruct it from the property's contents. Any edits made to :ref:`bbcode_text` will erase previous edits made from other manual sources such as :ref:`append_bbcode` and the ``push_*`` / :ref:`pop` methods. **Note:** RichTextLabel doesn't support entangled BBCode tags. For example, instead of using ``[b]bold[i]bold italic[/b]italic[/i]``, use ``[b]bold[i]bold italic[/i][/b][i]italic[/i]``. **Note:** ``push_*/pop`` functions won't affect BBCode. **Note:** Unlike :ref:`Label`, RichTextLabel doesn't have a *property* to horizontally align text to the center. Instead, enable :ref:`bbcode_enabled` and surround the text in a ``[center]`` tag as follows: ``[center]Example[/center]``. There is currently no built-in way to vertically align text either, but this can be emulated by relying on anchors/containers and the :ref:`fit_content_height` property. **Note:** Unicode characters after ``0xffff`` (such as most emoji) are *not* supported on Windows. They will display as unknown characters instead. This will be resolved in Godot 4.0. Tutorials --------- - :doc:`../tutorials/ui/bbcode_in_richtextlabel` - `GUI Rich Text/BBcode Demo `__ - `OS Test Demo `__ Properties ---------- +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`bool` | :ref:`bbcode_enabled` | ``false`` | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`String` | :ref:`bbcode_text` | ``""`` | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`Array` | :ref:`custom_effects` | ``[ ]`` | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`bool` | :ref:`fit_content_height` | ``false`` | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`bool` | :ref:`meta_underlined` | ``true`` | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`bool` | :ref:`override_selected_font_color` | ``false`` | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`float` | :ref:`percent_visible` | ``1.0`` | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`bool` | rect_clip_content | ``true`` *(parent override)* | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`bool` | :ref:`scroll_active` | ``true`` | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`bool` | :ref:`scroll_following` | ``false`` | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`bool` | :ref:`selection_enabled` | ``false`` | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`int` | :ref:`tab_size` | ``4`` | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`String` | :ref:`text` | ``""`` | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ | :ref:`int` | :ref:`visible_characters` | ``-1`` | +-----------------------------+------------------------------------------------------------------------------------------------+------------------------------+ Methods ------- +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_image` **(** :ref:`Texture` image, :ref:`int` width=0, :ref:`int` height=0 **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_text` **(** :ref:`String` text **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`append_bbcode` **(** :ref:`String` bbcode **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_content_height` **(** **)** |const| | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_line_count` **(** **)** |const| | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_total_character_count` **(** **)** |const| | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`VScrollBar` | :ref:`get_v_scroll` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_visible_line_count` **(** **)** |const| | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`install_effect` **(** :ref:`Variant` effect **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`newline` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`parse_bbcode` **(** :ref:`String` bbcode **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`parse_expressions_for_values` **(** :ref:`PoolStringArray` expressions **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`pop` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_align` **(** :ref:`Align` align **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_bold` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_bold_italics` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_cell` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_color` **(** :ref:`Color` color **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_font` **(** :ref:`Font` font **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_indent` **(** :ref:`int` level **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_italics` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_list` **(** :ref:`ListType` type **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_meta` **(** :ref:`Variant` data **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_mono` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_normal` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_strikethrough` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_table` **(** :ref:`int` columns **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_underline` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`remove_line` **(** :ref:`int` line **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`scroll_to_line` **(** :ref:`int` line **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_table_column_expand` **(** :ref:`int` column, :ref:`bool` expand, :ref:`int` ratio **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Theme Properties ---------------- +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Color` | :ref:`default_color` | ``Color( 1, 1, 1, 1 )`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Color` | :ref:`font_color_selected` | ``Color( 0.49, 0.49, 0.49, 1 )`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Color` | :ref:`font_color_shadow` | ``Color( 0, 0, 0, 0 )`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Color` | :ref:`selection_color` | ``Color( 0.1, 0.1, 1, 0.8 )`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`line_separation` | ``1`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`shadow_as_outline` | ``0`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`shadow_offset_x` | ``1`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`shadow_offset_y` | ``1`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`table_hseparation` | ``3`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`table_vseparation` | ``3`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Font` | :ref:`bold_font` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Font` | :ref:`bold_italics_font` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Font` | :ref:`italics_font` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Font` | :ref:`mono_font` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Font` | :ref:`normal_font` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`StyleBox` | :ref:`focus` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`StyleBox` | :ref:`normal` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ Signals ------- .. _class_RichTextLabel_signal_meta_clicked: - **meta_clicked** **(** :ref:`Variant` meta **)** Triggered when the user clicks on content between meta tags. If the meta is defined in text, e.g. ``[url={"data"="hi"}]hi[/url]``, then the parameter for this signal will be a :ref:`String` type. If a particular type or an object is desired, the :ref:`push_meta` method must be used to manually insert the data into the tag stack. ---- .. _class_RichTextLabel_signal_meta_hover_ended: - **meta_hover_ended** **(** :ref:`Variant` meta **)** Triggers when the mouse exits a meta tag. ---- .. _class_RichTextLabel_signal_meta_hover_started: - **meta_hover_started** **(** :ref:`Variant` meta **)** Triggers when the mouse enters a meta tag. Enumerations ------------ .. _enum_RichTextLabel_Align: .. _class_RichTextLabel_constant_ALIGN_LEFT: .. _class_RichTextLabel_constant_ALIGN_CENTER: .. _class_RichTextLabel_constant_ALIGN_RIGHT: .. _class_RichTextLabel_constant_ALIGN_FILL: enum **Align**: - **ALIGN_LEFT** = **0** --- Makes text left aligned. - **ALIGN_CENTER** = **1** --- Makes text centered. - **ALIGN_RIGHT** = **2** --- Makes text right aligned. - **ALIGN_FILL** = **3** --- Makes text fill width. ---- .. _enum_RichTextLabel_ListType: .. _class_RichTextLabel_constant_LIST_NUMBERS: .. _class_RichTextLabel_constant_LIST_LETTERS: .. _class_RichTextLabel_constant_LIST_DOTS: enum **ListType**: - **LIST_NUMBERS** = **0** --- Each list item has a number marker. - **LIST_LETTERS** = **1** --- Each list item has a letter marker. - **LIST_DOTS** = **2** --- Each list item has a filled circle marker. ---- .. _enum_RichTextLabel_ItemType: .. _class_RichTextLabel_constant_ITEM_FRAME: .. _class_RichTextLabel_constant_ITEM_TEXT: .. _class_RichTextLabel_constant_ITEM_IMAGE: .. _class_RichTextLabel_constant_ITEM_NEWLINE: .. _class_RichTextLabel_constant_ITEM_FONT: .. _class_RichTextLabel_constant_ITEM_COLOR: .. _class_RichTextLabel_constant_ITEM_UNDERLINE: .. _class_RichTextLabel_constant_ITEM_STRIKETHROUGH: .. _class_RichTextLabel_constant_ITEM_ALIGN: .. _class_RichTextLabel_constant_ITEM_INDENT: .. _class_RichTextLabel_constant_ITEM_LIST: .. _class_RichTextLabel_constant_ITEM_TABLE: .. _class_RichTextLabel_constant_ITEM_FADE: .. _class_RichTextLabel_constant_ITEM_SHAKE: .. _class_RichTextLabel_constant_ITEM_WAVE: .. _class_RichTextLabel_constant_ITEM_TORNADO: .. _class_RichTextLabel_constant_ITEM_RAINBOW: .. _class_RichTextLabel_constant_ITEM_CUSTOMFX: .. _class_RichTextLabel_constant_ITEM_META: enum **ItemType**: - **ITEM_FRAME** = **0** - **ITEM_TEXT** = **1** - **ITEM_IMAGE** = **2** - **ITEM_NEWLINE** = **3** - **ITEM_FONT** = **4** - **ITEM_COLOR** = **5** - **ITEM_UNDERLINE** = **6** - **ITEM_STRIKETHROUGH** = **7** - **ITEM_ALIGN** = **8** - **ITEM_INDENT** = **9** - **ITEM_LIST** = **10** - **ITEM_TABLE** = **11** - **ITEM_FADE** = **12** - **ITEM_SHAKE** = **13** - **ITEM_WAVE** = **14** - **ITEM_TORNADO** = **15** - **ITEM_RAINBOW** = **16** - **ITEM_CUSTOMFX** = **18** - **ITEM_META** = **17** Property Descriptions --------------------- .. _class_RichTextLabel_property_bbcode_enabled: - :ref:`bool` **bbcode_enabled** +-----------+-----------------------+ | *Default* | ``false`` | +-----------+-----------------------+ | *Setter* | set_use_bbcode(value) | +-----------+-----------------------+ | *Getter* | is_using_bbcode() | +-----------+-----------------------+ If ``true``, the label uses BBCode formatting. **Note:** Trying to alter the ``RichTextLabel``'s text with :ref:`add_text` will reset this to ``false``. Use instead :ref:`append_bbcode` to preserve BBCode formatting. ---- .. _class_RichTextLabel_property_bbcode_text: - :ref:`String` **bbcode_text** +-----------+-------------------+ | *Default* | ``""`` | +-----------+-------------------+ | *Setter* | set_bbcode(value) | +-----------+-------------------+ | *Getter* | get_bbcode() | +-----------+-------------------+ The label's text in BBCode format. Is not representative of manual modifications to the internal tag stack. Erases changes made by other methods when edited. **Note:** It is unadvised to use the ``+=`` operator with ``bbcode_text`` (e.g. ``bbcode_text += "some string"``) as it replaces the whole text and can cause slowdowns. It will also erase all BBCode that was added to stack using ``push_*`` methods. Use :ref:`append_bbcode` for adding text instead, unless you absolutely need to close a tag that was opened in an earlier method call. ---- .. _class_RichTextLabel_property_custom_effects: - :ref:`Array` **custom_effects** +-----------+--------------------+ | *Default* | ``[ ]`` | +-----------+--------------------+ | *Setter* | set_effects(value) | +-----------+--------------------+ | *Getter* | get_effects() | +-----------+--------------------+ The currently installed custom effects. This is an array of :ref:`RichTextEffect`\ s. To add a custom effect, it's more convenient to use :ref:`install_effect`. ---- .. _class_RichTextLabel_property_fit_content_height: - :ref:`bool` **fit_content_height** +-----------+---------------------------------+ | *Default* | ``false`` | +-----------+---------------------------------+ | *Setter* | set_fit_content_height(value) | +-----------+---------------------------------+ | *Getter* | is_fit_content_height_enabled() | +-----------+---------------------------------+ If ``true``, the label's height will be automatically updated to fit its content. **Note:** This property is used as a workaround to fix issues with ``RichTextLabel`` in :ref:`Container`\ s, but it's unreliable in some cases and will be removed in future versions. ---- .. _class_RichTextLabel_property_meta_underlined: - :ref:`bool` **meta_underlined** +-----------+---------------------------+ | *Default* | ``true`` | +-----------+---------------------------+ | *Setter* | set_meta_underline(value) | +-----------+---------------------------+ | *Getter* | is_meta_underlined() | +-----------+---------------------------+ If ``true``, the label underlines meta tags such as ``[url]{text}[/url]``. ---- .. _class_RichTextLabel_property_override_selected_font_color: - :ref:`bool` **override_selected_font_color** +-----------+-----------------------------------------+ | *Default* | ``false`` | +-----------+-----------------------------------------+ | *Setter* | set_override_selected_font_color(value) | +-----------+-----------------------------------------+ | *Getter* | is_overriding_selected_font_color() | +-----------+-----------------------------------------+ If ``true``, the label uses the custom font color. ---- .. _class_RichTextLabel_property_percent_visible: - :ref:`float` **percent_visible** +-----------+----------------------------+ | *Default* | ``1.0`` | +-----------+----------------------------+ | *Setter* | set_percent_visible(value) | +-----------+----------------------------+ | *Getter* | get_percent_visible() | +-----------+----------------------------+ The range of characters to display, as a :ref:`float` between 0.0 and 1.0. When assigned an out of range value, it's the same as assigning 1.0. **Note:** Setting this property updates :ref:`visible_characters` based on current :ref:`get_total_character_count`. ---- .. _class_RichTextLabel_property_scroll_active: - :ref:`bool` **scroll_active** +-----------+--------------------------+ | *Default* | ``true`` | +-----------+--------------------------+ | *Setter* | set_scroll_active(value) | +-----------+--------------------------+ | *Getter* | is_scroll_active() | +-----------+--------------------------+ If ``true``, the scrollbar is visible. Setting this to ``false`` does not block scrolling completely. See :ref:`scroll_to_line`. ---- .. _class_RichTextLabel_property_scroll_following: - :ref:`bool` **scroll_following** +-----------+--------------------------+ | *Default* | ``false`` | +-----------+--------------------------+ | *Setter* | set_scroll_follow(value) | +-----------+--------------------------+ | *Getter* | is_scroll_following() | +-----------+--------------------------+ If ``true``, the window scrolls down to display new content automatically. ---- .. _class_RichTextLabel_property_selection_enabled: - :ref:`bool` **selection_enabled** +-----------+------------------------------+ | *Default* | ``false`` | +-----------+------------------------------+ | *Setter* | set_selection_enabled(value) | +-----------+------------------------------+ | *Getter* | is_selection_enabled() | +-----------+------------------------------+ If ``true``, the label allows text selection. ---- .. _class_RichTextLabel_property_tab_size: - :ref:`int` **tab_size** +-----------+---------------------+ | *Default* | ``4`` | +-----------+---------------------+ | *Setter* | set_tab_size(value) | +-----------+---------------------+ | *Getter* | get_tab_size() | +-----------+---------------------+ The number of spaces associated with a single tab length. Does not affect ``\t`` in text tags, only indent tags. ---- .. _class_RichTextLabel_property_text: - :ref:`String` **text** +-----------+-----------------+ | *Default* | ``""`` | +-----------+-----------------+ | *Setter* | set_text(value) | +-----------+-----------------+ | *Getter* | get_text() | +-----------+-----------------+ The raw text of the label. When set, clears the tag stack and adds a raw text tag to the top of it. Does not parse BBCodes. Does not modify :ref:`bbcode_text`. ---- .. _class_RichTextLabel_property_visible_characters: - :ref:`int` **visible_characters** +-----------+-------------------------------+ | *Default* | ``-1`` | +-----------+-------------------------------+ | *Setter* | set_visible_characters(value) | +-----------+-------------------------------+ | *Getter* | get_visible_characters() | +-----------+-------------------------------+ The restricted number of characters to display in the label. If ``-1``, all characters will be displayed. **Note:** Setting this property updates :ref:`percent_visible` based on current :ref:`get_total_character_count`. Method Descriptions ------------------- .. _class_RichTextLabel_method_add_image: - void **add_image** **(** :ref:`Texture` image, :ref:`int` width=0, :ref:`int` height=0 **)** Adds an image's opening and closing tags to the tag stack, optionally providing a ``width`` and ``height`` to resize the image. If ``width`` or ``height`` is set to 0, the image size will be adjusted in order to keep the original aspect ratio. ---- .. _class_RichTextLabel_method_add_text: - void **add_text** **(** :ref:`String` text **)** Adds raw non-BBCode-parsed text to the tag stack. ---- .. _class_RichTextLabel_method_append_bbcode: - :ref:`Error` **append_bbcode** **(** :ref:`String` bbcode **)** Parses ``bbcode`` and adds tags to the tag stack as needed. Returns the result of the parsing, :ref:`@GlobalScope.OK` if successful. **Note:** Using this method, you can't close a tag that was opened in a previous :ref:`append_bbcode` call. This is done to improve performance, especially when updating large RichTextLabels since rebuilding the whole BBCode every time would be slower. If you absolutely need to close a tag in a future method call, append the :ref:`bbcode_text` instead of using :ref:`append_bbcode`. ---- .. _class_RichTextLabel_method_clear: - void **clear** **(** **)** Clears the tag stack and sets :ref:`bbcode_text` to an empty string. ---- .. _class_RichTextLabel_method_get_content_height: - :ref:`int` **get_content_height** **(** **)** |const| Returns the height of the content. ---- .. _class_RichTextLabel_method_get_line_count: - :ref:`int` **get_line_count** **(** **)** |const| Returns the total number of newlines in the tag stack's text tags. Considers wrapped text as one line. ---- .. _class_RichTextLabel_method_get_total_character_count: - :ref:`int` **get_total_character_count** **(** **)** |const| Returns the total number of characters from text tags. Does not include BBCodes. ---- .. _class_RichTextLabel_method_get_v_scroll: - :ref:`VScrollBar` **get_v_scroll** **(** **)** Returns the vertical scrollbar. **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible` property. ---- .. _class_RichTextLabel_method_get_visible_line_count: - :ref:`int` **get_visible_line_count** **(** **)** |const| Returns the number of visible lines. ---- .. _class_RichTextLabel_method_install_effect: - void **install_effect** **(** :ref:`Variant` effect **)** Installs a custom effect. ``effect`` should be a valid :ref:`RichTextEffect`. ---- .. _class_RichTextLabel_method_newline: - void **newline** **(** **)** Adds a newline tag to the tag stack. ---- .. _class_RichTextLabel_method_parse_bbcode: - :ref:`Error` **parse_bbcode** **(** :ref:`String` bbcode **)** The assignment version of :ref:`append_bbcode`. Clears the tag stack and inserts the new content. Returns :ref:`@GlobalScope.OK` if parses ``bbcode`` successfully. ---- .. _class_RichTextLabel_method_parse_expressions_for_values: - :ref:`Dictionary` **parse_expressions_for_values** **(** :ref:`PoolStringArray` expressions **)** Parses BBCode parameter ``expressions`` into a dictionary. ---- .. _class_RichTextLabel_method_pop: - void **pop** **(** **)** Terminates the current tag. Use after ``push_*`` methods to close BBCodes manually. Does not need to follow ``add_*`` methods. ---- .. _class_RichTextLabel_method_push_align: - void **push_align** **(** :ref:`Align` align **)** Adds an ``[align]`` tag based on the given ``align`` value. See :ref:`Align` for possible values. ---- .. _class_RichTextLabel_method_push_bold: - void **push_bold** **(** **)** Adds a ``[font]`` tag with a bold font to the tag stack. This is the same as adding a ``[b]`` tag if not currently in a ``[i]`` tag. ---- .. _class_RichTextLabel_method_push_bold_italics: - void **push_bold_italics** **(** **)** Adds a ``[font]`` tag with a bold italics font to the tag stack. ---- .. _class_RichTextLabel_method_push_cell: - void **push_cell** **(** **)** Adds a ``[cell]`` tag to the tag stack. Must be inside a ``[table]`` tag. See :ref:`push_table` for details. ---- .. _class_RichTextLabel_method_push_color: - void **push_color** **(** :ref:`Color` color **)** Adds a ``[color]`` tag to the tag stack. ---- .. _class_RichTextLabel_method_push_font: - void **push_font** **(** :ref:`Font` font **)** Adds a ``[font]`` tag to the tag stack. Overrides default fonts for its duration. ---- .. _class_RichTextLabel_method_push_indent: - void **push_indent** **(** :ref:`int` level **)** Adds an ``[indent]`` tag to the tag stack. Multiplies ``level`` by current :ref:`tab_size` to determine new margin length. ---- .. _class_RichTextLabel_method_push_italics: - void **push_italics** **(** **)** Adds a ``[font]`` tag with a italics font to the tag stack. This is the same as adding a ``[i]`` tag if not currently in a ``[b]`` tag. ---- .. _class_RichTextLabel_method_push_list: - void **push_list** **(** :ref:`ListType` type **)** Adds a ``[list]`` tag to the tag stack. Similar to the BBCodes ``[ol]`` or ``[ul]``, but supports more list types. Not fully implemented! ---- .. _class_RichTextLabel_method_push_meta: - void **push_meta** **(** :ref:`Variant` data **)** Adds a ``[meta]`` tag to the tag stack. Similar to the BBCode ``[url=something]{text}[/url]``, but supports non-:ref:`String` metadata types. ---- .. _class_RichTextLabel_method_push_mono: - void **push_mono** **(** **)** Adds a ``[font]`` tag with a monospace font to the tag stack. ---- .. _class_RichTextLabel_method_push_normal: - void **push_normal** **(** **)** Adds a ``[font]`` tag with a normal font to the tag stack. ---- .. _class_RichTextLabel_method_push_strikethrough: - void **push_strikethrough** **(** **)** Adds a ``[s]`` tag to the tag stack. ---- .. _class_RichTextLabel_method_push_table: - void **push_table** **(** :ref:`int` columns **)** Adds a ``[table=columns]`` tag to the tag stack. ---- .. _class_RichTextLabel_method_push_underline: - void **push_underline** **(** **)** Adds a ``[u]`` tag to the tag stack. ---- .. _class_RichTextLabel_method_remove_line: - :ref:`bool` **remove_line** **(** :ref:`int` line **)** Removes a line of content from the label. Returns ``true`` if the line exists. The ``line`` argument is the index of the line to remove, it can take values in the interval ``[0, get_line_count() - 1]``. ---- .. _class_RichTextLabel_method_scroll_to_line: - void **scroll_to_line** **(** :ref:`int` line **)** Scrolls the window's top line to match ``line``. ---- .. _class_RichTextLabel_method_set_table_column_expand: - void **set_table_column_expand** **(** :ref:`int` column, :ref:`bool` expand, :ref:`int` ratio **)** Edits the selected column's expansion options. If ``expand`` is ``true``, the column expands in proportion to its expansion ratio versus the other columns' ratios. For example, 2 columns with ratios 3 and 4 plus 70 pixels in available width would expand 30 and 40 pixels, respectively. If ``expand`` is ``false``, the column will not contribute to the total ratio. Theme Property Descriptions --------------------------- .. _class_RichTextLabel_theme_color_default_color: - :ref:`Color` **default_color** +-----------+-------------------------+ | *Default* | ``Color( 1, 1, 1, 1 )`` | +-----------+-------------------------+ The default text color. ---- .. _class_RichTextLabel_theme_color_font_color_selected: - :ref:`Color` **font_color_selected** +-----------+----------------------------------+ | *Default* | ``Color( 0.49, 0.49, 0.49, 1 )`` | +-----------+----------------------------------+ The color of selected text, used when :ref:`selection_enabled` is ``true``. ---- .. _class_RichTextLabel_theme_color_font_color_shadow: - :ref:`Color` **font_color_shadow** +-----------+-------------------------+ | *Default* | ``Color( 0, 0, 0, 0 )`` | +-----------+-------------------------+ The color of the font's shadow. ---- .. _class_RichTextLabel_theme_color_selection_color: - :ref:`Color` **selection_color** +-----------+-------------------------------+ | *Default* | ``Color( 0.1, 0.1, 1, 0.8 )`` | +-----------+-------------------------------+ The color of the selection box. ---- .. _class_RichTextLabel_theme_constant_line_separation: - :ref:`int` **line_separation** +-----------+-------+ | *Default* | ``1`` | +-----------+-------+ The vertical space between lines. ---- .. _class_RichTextLabel_theme_constant_shadow_as_outline: - :ref:`int` **shadow_as_outline** +-----------+-------+ | *Default* | ``0`` | +-----------+-------+ Boolean value. If 1 (``true``), the shadow will be displayed around the whole text as an outline. ---- .. _class_RichTextLabel_theme_constant_shadow_offset_x: - :ref:`int` **shadow_offset_x** +-----------+-------+ | *Default* | ``1`` | +-----------+-------+ The horizontal offset of the font's shadow. ---- .. _class_RichTextLabel_theme_constant_shadow_offset_y: - :ref:`int` **shadow_offset_y** +-----------+-------+ | *Default* | ``1`` | +-----------+-------+ The vertical offset of the font's shadow. ---- .. _class_RichTextLabel_theme_constant_table_hseparation: - :ref:`int` **table_hseparation** +-----------+-------+ | *Default* | ``3`` | +-----------+-------+ The horizontal separation of elements in a table. ---- .. _class_RichTextLabel_theme_constant_table_vseparation: - :ref:`int` **table_vseparation** +-----------+-------+ | *Default* | ``3`` | +-----------+-------+ The vertical separation of elements in a table. ---- .. _class_RichTextLabel_theme_font_bold_font: - :ref:`Font` **bold_font** The font used for bold text. ---- .. _class_RichTextLabel_theme_font_bold_italics_font: - :ref:`Font` **bold_italics_font** The font used for bold italics text. ---- .. _class_RichTextLabel_theme_font_italics_font: - :ref:`Font` **italics_font** The font used for italics text. ---- .. _class_RichTextLabel_theme_font_mono_font: - :ref:`Font` **mono_font** The font used for monospace text. ---- .. _class_RichTextLabel_theme_font_normal_font: - :ref:`Font` **normal_font** The default text font. ---- .. _class_RichTextLabel_theme_style_focus: - :ref:`StyleBox` **focus** The background The background used when the ``RichTextLabel`` is focused. ---- .. _class_RichTextLabel_theme_style_normal: - :ref:`StyleBox` **normal** The normal background for the ``RichTextLabel``. .. |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.)`