2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 14:18:53 +01:00
<class name= "RichTextLabel" inherits= "Control" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-12 22:42:36 +02:00
<brief_description >
Label that displays rich text.
</brief_description>
<description >
2017-11-13 04:05:28 +01:00
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.
2020-05-29 16:25:12 +02:00
[b]Note:[/b] Assignments to [member text] clear the tag stack and reconstruct it from the property's contents. Any edits made to [member text] will erase previous edits made from other manual sources such as [method append_text] and the [code]push_*[/code] / [method pop] methods.
2020-12-26 23:36:08 +01:00
[b]Note:[/b] RichTextLabel doesn't support entangled BBCode tags. For example, instead of using [code][b]bold[i]bold italic[/b]italic[/i][/code], use [code][b]bold[i]bold italic[/i][/b][i]italic[/i][/code].
2021-07-06 10:55:39 +02:00
[b]Note:[/b] [code]push_*/pop[/code] functions won't affect BBCode.
2020-08-19 10:32:55 +02:00
[b]Note:[/b] Unlike [Label], RichTextLabel doesn't have a [i]property[/i] to horizontally align text to the center. Instead, enable [member bbcode_enabled] and surround the text in a [code][center][/code] tag as follows: [code][center]Example[/center][/code]. There is currently no built-in way to vertically align text either, but this can be emulated by relying on anchors/containers and the [member fit_content_height] property.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
2021-11-15 10:43:07 +01:00
<link title= "BBCode in RichTextLabel" > $DOCS_URL/tutorials/ui/bbcode_in_richtextlabel.html</link>
2020-10-01 10:34:47 +02:00
<link title= "GUI Rich Text/BBcode Demo" > https://godotengine.org/asset-library/asset/132</link>
<link title= "OS Test Demo" > https://godotengine.org/asset-library/asset/677</link>
2017-09-12 22:42:36 +02:00
</tutorials>
<methods >
<method name= "add_image" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "image" type= "Texture2D" />
<argument index= "1" name= "width" type= "int" default= "0" />
<argument index= "2" name= "height" type= "int" default= "0" />
<argument index= "3" name= "color" type= "Color" default= "Color(1, 1, 1, 1)" />
2021-11-25 03:58:47 +01:00
<argument index= "4" name= "inline_align" type= "int" enum= "InlineAlignment" default= "5" />
2017-09-12 22:42:36 +02:00
<description >
2020-05-28 08:17:17 +02:00
Adds an image's opening and closing tags to the tag stack, optionally providing a [code]width[/code] and [code]height[/code] to resize the image and a [code]color[/code] to tint the image.
2019-10-16 12:00:15 +02:00
If [code]width[/code] or [code]height[/code] is set to 0, the image size will be adjusted in order to keep the original aspect ratio.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_text" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "text" type= "String" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-22 01:04:47 +02:00
Adds raw non-BBCode-parsed text to the tag stack.
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-05-29 16:25:12 +02:00
<method name= "append_text" >
2021-10-23 08:25:39 +02:00
<return type= "void" />
2021-07-30 15:28:05 +02:00
<argument index= "0" name= "bbcode" type= "String" />
2017-09-12 22:42:36 +02:00
<description >
2021-10-23 08:25:39 +02:00
Parses [code]bbcode[/code] and adds tags to the tag stack as needed.
2020-05-29 16:25:12 +02:00
[b]Note:[/b] Using this method, you can't close a tag that was opened in a previous [method append_text] 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 [member text] instead of using [method append_text].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "clear" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2017-09-12 22:42:36 +02:00
<description >
2020-05-29 16:25:12 +02:00
Clears the tag stack and sets [member text] to an empty string.
2017-09-12 22:42:36 +02:00
</description>
</method>
2022-02-11 22:02:59 +01:00
<method name= "get_character_line" >
<return type= "int" />
<argument index= "0" name= "character" type= "int" />
<description >
Returns the line number of the character position provided.
</description>
</method>
<method name= "get_character_paragraph" >
<return type= "int" />
<argument index= "0" name= "character" type= "int" />
<description >
Returns the paragraph number of the character position provided.
</description>
</method>
2020-06-25 10:51:46 +02:00
<method name= "get_content_height" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2018-05-12 09:38:00 +02:00
<description >
Returns the height of the content.
</description>
</method>
2022-02-09 21:02:46 +01:00
<method name= "get_content_width" qualifiers= "const" >
<return type= "int" />
<description >
Returns the width of the content.
</description>
</method>
2017-09-23 10:59:35 +02:00
<method name= "get_line_count" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2017-09-23 10:59:35 +02:00
<description >
2021-01-12 13:03:10 +01:00
Returns the total number of lines in the text. Wrapped text is counted as multiple lines.
</description>
</method>
2022-02-13 18:33:37 +01:00
<method name= "get_line_offset" >
<return type= "float" />
<argument index= "0" name= "line" type= "int" />
<description >
Returns the vertical offset of the line found at the provided index.
</description>
</method>
2021-01-12 13:03:10 +01:00
<method name= "get_paragraph_count" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2021-01-12 13:03:10 +01:00
<description >
Returns the total number of paragraphs (newlines or [code]p[/code] tags in the tag stack's text tags). Considers wrapped text as one paragraph.
2017-09-23 10:59:35 +02:00
</description>
</method>
2022-02-13 18:33:37 +01:00
<method name= "get_paragraph_offset" >
<return type= "float" />
<argument index= "0" name= "paragraph" type= "int" />
<description >
Returns the vertical offset of the paragraph found at the provided index.
</description>
</method>
2020-05-29 16:25:12 +02:00
<method name= "get_parsed_text" qualifiers= "const" >
<return type= "String" />
<description >
Returns the text without BBCode mark-up.
</description>
</method>
2021-02-11 17:33:45 +01:00
<method name= "get_selected_text" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "String" />
2021-02-11 17:33:45 +01:00
<description >
Returns the current selection text. Does not include BBCodes.
</description>
</method>
<method name= "get_selection_from" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2021-02-11 17:33:45 +01:00
<description >
Returns the current selection first character index if a selection is active, [code]-1[/code] otherwise. Does not include BBCodes.
</description>
</method>
<method name= "get_selection_to" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2021-02-11 17:33:45 +01:00
<description >
Returns the current selection last character index if a selection is active, [code]-1[/code] otherwise. Does not include BBCodes.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "get_total_character_count" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-22 01:04:47 +02:00
Returns the total number of characters from text tags. Does not include BBCodes.
2017-09-12 22:42:36 +02:00
</description>
</method>
2021-11-30 17:46:36 +01:00
<method name= "get_v_scroll_bar" >
2021-07-30 15:28:05 +02:00
<return type= "VScrollBar" />
2017-09-12 22:42:36 +02:00
<description >
2017-11-13 04:05:28 +01:00
Returns the vertical scrollbar.
2021-10-10 21:28:56 +02:00
[b]Warning:[/b] 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 [member CanvasItem.visible] property.
2017-09-12 22:42:36 +02:00
</description>
</method>
2017-09-23 10:59:35 +02:00
<method name= "get_visible_line_count" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2017-09-23 10:59:35 +02:00
<description >
2017-10-25 20:15:39 +02:00
Returns the number of visible lines.
2017-09-23 10:59:35 +02:00
</description>
</method>
2021-01-12 13:03:10 +01:00
<method name= "get_visible_paragraph_count" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2021-01-12 13:03:10 +01:00
<description >
Returns the number of visible paragraphs. A paragraph is considered visible if at least one of its lines is visible.
</description>
</method>
2019-09-24 11:44:48 +02:00
<method name= "install_effect" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "effect" type= "Variant" />
2019-09-24 11:44:48 +02:00
<description >
2020-01-06 06:33:53 +01:00
Installs a custom effect. [code]effect[/code] should be a valid [RichTextEffect].
2019-09-24 11:44:48 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "newline" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2017-09-12 22:42:36 +02:00
<description >
2017-11-13 04:05:28 +01:00
Adds a newline tag to the tag stack.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "parse_bbcode" >
2021-10-23 08:25:39 +02:00
<return type= "void" />
2021-07-30 15:28:05 +02:00
<argument index= "0" name= "bbcode" type= "String" />
2017-09-12 22:42:36 +02:00
<description >
2021-10-23 08:25:39 +02:00
The assignment version of [method append_text]. Clears the tag stack and inserts the new content.
2017-09-12 22:42:36 +02:00
</description>
</method>
2019-09-24 11:44:48 +02:00
<method name= "parse_expressions_for_values" >
2021-07-30 15:28:05 +02:00
<return type= "Dictionary" />
<argument index= "0" name= "expressions" type= "PackedStringArray" />
2019-09-24 11:44:48 +02:00
<description >
2020-01-06 06:33:53 +01:00
Parses BBCode parameter [code]expressions[/code] into a dictionary.
2019-09-24 11:44:48 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "pop" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-22 01:04:47 +02:00
Terminates the current tag. Use after [code]push_*[/code] methods to close BBCodes manually. Does not need to follow [code]add_*[/code] methods.
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-01-26 23:11:09 +01:00
<method name= "push_bgcolor" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "bgcolor" type= "Color" />
2020-01-26 23:11:09 +01:00
<description >
Adds a [code][bgcolor][/code] tag to the tag stack.
</description>
</method>
2019-10-26 16:40:31 +02:00
<method name= "push_bold" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2019-10-26 16:40:31 +02:00
<description >
2020-01-06 06:33:53 +01:00
Adds a [code][font][/code] tag with a bold font to the tag stack. This is the same as adding a [code][b][/code] tag if not currently in a [code][i][/code] tag.
2019-10-26 16:40:31 +02:00
</description>
</method>
<method name= "push_bold_italics" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2019-10-26 16:40:31 +02:00
<description >
2020-01-06 06:33:53 +01:00
Adds a [code][font][/code] tag with a bold italics font to the tag stack.
2019-10-26 16:40:31 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "push_cell" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2017-09-12 22:42:36 +02:00
<description >
2019-01-07 10:02:04 +01:00
Adds a [code][cell][/code] tag to the tag stack. Must be inside a [code][table][/code] tag. See [method push_table] for details.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "push_color" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "color" type= "Color" />
2017-09-12 22:42:36 +02:00
<description >
2017-11-13 04:05:28 +01:00
Adds a [code][color][/code] tag to the tag stack.
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-11-19 15:45:23 +01:00
<method name= "push_dropcap" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "string" type= "String" />
<argument index= "1" name= "font" type= "Font" />
<argument index= "2" name= "size" type= "int" />
<argument index= "3" name= "dropcap_margins" type= "Rect2" default= "Rect2(0, 0, 0, 0)" />
<argument index= "4" name= "color" type= "Color" default= "Color(1, 1, 1, 1)" />
<argument index= "5" name= "outline_size" type= "int" default= "0" />
<argument index= "6" name= "outline_color" type= "Color" default= "Color(0, 0, 0, 0)" />
2020-11-19 15:45:23 +01:00
<description >
Adds a [code][dropcap][/code] tag to the tag stack. Drop cap (dropped capital) is a decorative element at the beginning of a paragraph that is larger than the rest of the text.
</description>
</method>
2020-01-26 23:11:09 +01:00
<method name= "push_fgcolor" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "fgcolor" type= "Color" />
2020-01-26 23:11:09 +01:00
<description >
Adds a [code][fgcolor][/code] tag to the tag stack.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "push_font" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "font" type= "Font" />
2017-09-12 22:42:36 +02:00
<description >
2017-11-13 04:05:28 +01:00
Adds a [code][font][/code] tag to the tag stack. Overrides default fonts for its duration.
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-10-02 14:02:02 +02:00
<method name= "push_font_features" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "opentype_features" type= "Dictionary" />
2020-10-02 14:02:02 +02:00
<description >
Adds a [code][ot_feature][/code] tag to the tag stack. Overrides default OpenType font feature for its duration.
</description>
</method>
<method name= "push_font_size" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "font_size" type= "int" />
2020-10-02 14:02:02 +02:00
<description >
Adds a [code][font_size][/code] tag to the tag stack. Overrides default font size for its duration.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "push_indent" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "level" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2020-01-06 06:33:53 +01:00
Adds an [code][indent][/code] tag to the tag stack. Multiplies [code]level[/code] by current [member tab_size] to determine new margin length.
2017-09-12 22:42:36 +02:00
</description>
</method>
2019-10-26 16:40:31 +02:00
<method name= "push_italics" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2019-10-26 16:40:31 +02:00
<description >
2020-01-06 06:33:53 +01:00
Adds a [code][font][/code] tag with a italics font to the tag stack. This is the same as adding a [code][i][/code] tag if not currently in a [code][b][/code] tag.
2019-10-26 16:40:31 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "push_list" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "level" type= "int" />
<argument index= "1" name= "type" type= "int" enum= "RichTextLabel.ListType" />
<argument index= "2" name= "capitalize" type= "bool" />
2017-09-12 22:42:36 +02:00
<description >
2020-10-02 14:02:02 +02:00
Adds [code][ol][/code] or [code][ul][/code] tag to the tag stack. Multiplies [code]level[/code] by current [member tab_size] to determine new margin length.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "push_meta" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "data" type= "Variant" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-22 01:04:47 +02:00
Adds a [code][meta][/code] tag to the tag stack. Similar to the BBCode [code][url=something]{text}[/url][/code], but supports non-[String] metadata types.
2017-09-12 22:42:36 +02:00
</description>
</method>
2019-10-26 16:40:31 +02:00
<method name= "push_mono" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2019-10-26 16:40:31 +02:00
<description >
2020-01-06 06:33:53 +01:00
Adds a [code][font][/code] tag with a monospace font to the tag stack.
2019-10-26 16:40:31 +02:00
</description>
</method>
<method name= "push_normal" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2019-10-26 16:40:31 +02:00
<description >
2020-01-06 06:33:53 +01:00
Adds a [code][font][/code] tag with a normal font to the tag stack.
2019-10-26 16:40:31 +02:00
</description>
</method>
2020-10-02 14:02:02 +02:00
<method name= "push_outline_color" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "color" type= "Color" />
2020-10-02 14:02:02 +02:00
<description >
Adds a [code][outline_color][/code] tag to the tag stack. Adds text outline for its duration.
</description>
</method>
<method name= "push_outline_size" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "outline_size" type= "int" />
2020-10-02 14:02:02 +02:00
<description >
Adds a [code][outline_size][/code] tag to the tag stack. Overrides default text outline size for its duration.
</description>
</method>
<method name= "push_paragraph" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-11-25 03:58:47 +01:00
<argument index= "0" name= "alignment" type= "int" enum= "HorizontalAlignment" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "base_direction" type= "int" enum= "Control.TextDirection" default= "0" />
<argument index= "2" name= "language" type= "String" default= """" />
<argument index= "3" name= "st_parser" type= "int" enum= "Control.StructuredTextParser" default= "0" />
2020-10-02 14:02:02 +02:00
<description >
Adds a [code][p][/code] tag to the tag stack.
</description>
</method>
2018-10-07 15:52:07 +02:00
<method name= "push_strikethrough" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2018-10-07 15:52:07 +02:00
<description >
2018-10-12 16:43:03 +02:00
Adds a [code][s][/code] tag to the tag stack.
2018-10-07 15:52:07 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "push_table" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "columns" type= "int" />
2021-11-25 03:58:47 +01:00
<argument index= "1" name= "inline_align" type= "int" enum= "InlineAlignment" default= "0" />
2017-09-12 22:42:36 +02:00
<description >
2020-10-02 14:02:02 +02:00
Adds a [code][table=columns,inline_align][/code] tag to the tag stack.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "push_underline" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2017-09-12 22:42:36 +02:00
<description >
2017-11-13 04:05:28 +01:00
Adds a [code][u][/code] tag to the tag stack.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "remove_line" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
<argument index= "0" name= "line" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2020-01-07 01:29:10 +01:00
Removes a line of content from the label. Returns [code]true[/code] if the line exists.
The [code]line[/code] argument is the index of the line to remove, it can take values in the interval [code][0, get_line_count() - 1][/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "scroll_to_line" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "line" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2017-11-13 04:05:28 +01:00
Scrolls the window's top line to match [code]line[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
2021-01-12 13:03:10 +01:00
<method name= "scroll_to_paragraph" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "paragraph" type= "int" />
2021-01-12 13:03:10 +01:00
<description >
Scrolls the window's top line to match first line of the [code]paragraph[/code].
</description>
</method>
2020-10-02 14:02:02 +02:00
<method name= "set_cell_border_color" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "color" type= "Color" />
2020-10-02 14:02:02 +02:00
<description >
Sets color of a table cell border.
</description>
</method>
<method name= "set_cell_padding" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "padding" type= "Rect2" />
2020-10-02 14:02:02 +02:00
<description >
Sets inner padding of a table cell.
</description>
</method>
<method name= "set_cell_row_background_color" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "odd_row_bg" type= "Color" />
<argument index= "1" name= "even_row_bg" type= "Color" />
2020-10-02 14:02:02 +02:00
<description >
Sets color of a table cell. Separate colors for alternating rows can be specified.
</description>
</method>
<method name= "set_cell_size_override" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "min_size" type= "Vector2" />
<argument index= "1" name= "max_size" type= "Vector2" />
2020-10-02 14:02:02 +02:00
<description >
Sets minimum and maximum size overrides for a table cell.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "set_table_column_expand" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "column" type= "int" />
<argument index= "1" name= "expand" type= "bool" />
<argument index= "2" name= "ratio" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-22 01:04:47 +02:00
Edits the selected column's expansion options. If [code]expand[/code] is [code]true[/code], the column expands in proportion to its expansion ratio versus the other columns' ratios.
2017-11-13 04:05:28 +01:00
For example, 2 columns with ratios 3 and 4 plus 70 pixels in available width would expand 30 and 40 pixels, respectively.
2019-06-22 01:04:47 +02:00
If [code]expand[/code] is [code]false[/code], the column will not contribute to the total ratio.
2017-09-12 22:42:36 +02:00
</description>
</method>
</methods>
<members >
2022-02-03 14:56:44 +01:00
<member name= "autowrap_mode" type= "int" setter= "set_autowrap_mode" getter= "get_autowrap_mode" enum= "RichTextLabel.AutowrapMode" default= "3" >
If set to something other than [constant AUTOWRAP_OFF], the text gets wrapped inside the node's bounding rectangle. To see how each mode behaves, see [enum AutowrapMode].
</member>
2019-06-29 12:38:01 +02:00
<member name= "bbcode_enabled" type= "bool" setter= "set_use_bbcode" getter= "is_using_bbcode" default= "false" >
2019-06-29 15:24:23 +02:00
If [code]true[/code], the label uses BBCode formatting.
2017-09-12 22:42:36 +02:00
</member>
2019-09-24 19:45:03 +02:00
<member name= "custom_effects" type= "Array" setter= "set_effects" getter= "get_effects" default= "[]" >
2020-01-06 06:33:53 +01:00
The currently installed custom effects. This is an array of [RichTextEffect]s.
To add a custom effect, it's more convenient to use [method install_effect].
2019-09-24 11:44:48 +02:00
</member>
2021-10-21 23:02:46 +02:00
<member name= "deselect_on_focus_loss_enabled" type= "bool" setter= "set_deselect_on_focus_loss_enabled" getter= "is_deselect_on_focus_loss_enabled" default= "true" >
If [code]true[/code], the selected text will be deselected when focus is lost.
</member>
2019-11-01 15:17:40 +01:00
<member name= "fit_content_height" type= "bool" setter= "set_fit_content_height" getter= "is_fit_content_height_enabled" default= "false" >
If [code]true[/code], the label's height will be automatically updated to fit its content.
[b]Note:[/b] This property is used as a workaround to fix issues with [RichTextLabel] in [Container]s, but it's unreliable in some cases and will be removed in future versions.
</member>
2020-10-02 14:02:02 +02:00
<member name= "language" type= "String" setter= "set_language" getter= "get_language" default= """" >
Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
</member>
2019-06-29 12:38:01 +02:00
<member name= "meta_underlined" type= "bool" setter= "set_meta_underline" getter= "is_meta_underlined" default= "true" >
2019-06-29 15:24:23 +02:00
If [code]true[/code], the label underlines meta tags such as [code][url]{text}[/url][/code].
2018-01-11 23:38:35 +01:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "override_selected_font_color" type= "bool" setter= "set_override_selected_font_color" getter= "is_overriding_selected_font_color" default= "false" >
2019-06-29 15:24:23 +02:00
If [code]true[/code], the label uses the custom font color.
2017-10-21 12:02:08 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "percent_visible" type= "float" setter= "set_percent_visible" getter= "get_percent_visible" default= "1.0" >
2020-01-06 06:33:53 +01:00
The range of characters to display, as a [float] between 0.0 and 1.0. When assigned an out of range value, it's the same as assigning 1.0.
[b]Note:[/b] Setting this property updates [member visible_characters] based on current [method get_total_character_count].
2017-09-12 22:42:36 +02:00
</member>
2021-12-02 20:38:49 +01:00
<member name= "rect_clip_content" type= "bool" setter= "set_clip_contents" getter= "is_clipping_contents" overrides= "Control" default= "true" />
2019-06-29 12:38:01 +02:00
<member name= "scroll_active" type= "bool" setter= "set_scroll_active" getter= "is_scroll_active" default= "true" >
2020-01-06 06:33:53 +01:00
If [code]true[/code], the scrollbar is visible. Setting this to [code]false[/code] does not block scrolling completely. See [method scroll_to_line].
2018-01-11 23:38:35 +01:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "scroll_following" type= "bool" setter= "set_scroll_follow" getter= "is_scroll_following" default= "false" >
2019-06-29 15:24:23 +02:00
If [code]true[/code], the window scrolls down to display new content automatically.
2018-01-11 23:38:35 +01:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "selection_enabled" type= "bool" setter= "set_selection_enabled" getter= "is_selection_enabled" default= "false" >
2018-01-11 23:38:35 +01:00
If [code]true[/code], the label allows text selection.
</member>
2020-10-02 14:02:02 +02:00
<member name= "structured_text_bidi_override" type= "int" setter= "set_structured_text_bidi_override" getter= "get_structured_text_bidi_override" enum= "Control.StructuredTextParser" default= "0" >
Set BiDi algorithm override for the structured text.
</member>
2019-09-24 19:45:03 +02:00
<member name= "structured_text_bidi_override_options" type= "Array" setter= "set_structured_text_bidi_override_options" getter= "get_structured_text_bidi_override_options" default= "[]" >
2020-10-02 14:02:02 +02:00
Set additional options for BiDi override.
</member>
2019-06-29 12:38:01 +02:00
<member name= "tab_size" type= "int" setter= "set_tab_size" getter= "get_tab_size" default= "4" >
2019-06-22 01:04:47 +02:00
The number of spaces associated with a single tab length. Does not affect [code]\t[/code] in text tags, only indent tags.
2018-01-11 23:38:35 +01:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "text" type= "String" setter= "set_text" getter= "get_text" default= """" >
2020-05-29 16:25:12 +02:00
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.
2022-01-15 02:13:58 +01:00
[b]Note:[/b] If [member bbcode_enabled] is [code]true[/code], it is unadvised to use the [code]+=[/code] operator with [code]text[/code] (e.g. [code]text += "some string"[/code]) as it replaces the whole text and can cause slowdowns. It will also erase all BBCode that was added to stack using [code]push_*[/code] methods. Use [method append_text] for adding text instead, unless you absolutely need to close a tag that was opened in an earlier method call.
2018-01-11 23:38:35 +01:00
</member>
2020-10-02 14:02:02 +02:00
<member name= "text_direction" type= "int" setter= "set_text_direction" getter= "get_text_direction" enum= "Control.TextDirection" default= "0" >
Base text writing direction.
</member>
2019-06-29 12:38:01 +02:00
<member name= "visible_characters" type= "int" setter= "set_visible_characters" getter= "get_visible_characters" default= "-1" >
2019-06-22 01:04:47 +02:00
The restricted number of characters to display in the label. If [code]-1[/code], all characters will be displayed.
2021-01-02 11:46:44 +01:00
[b]Note:[/b] Setting this property updates [member percent_visible] based on current [method get_total_character_count].
2017-09-12 22:42:36 +02:00
</member>
2021-12-05 13:28:32 +01:00
<member name= "visible_characters_behavior" type= "int" setter= "set_visible_characters_behavior" getter= "get_visible_characters_behavior" enum= "RichTextLabel.VisibleCharactersBehavior" default= "0" >
Sets the clipping behavior when [member visible_characters] or [member percent_visible] is set. See [enum VisibleCharactersBehavior] for more info.
</member>
2017-09-12 22:42:36 +02:00
</members>
<signals >
<signal name= "meta_clicked" >
2021-07-30 15:28:05 +02:00
<argument index= "0" name= "meta" type= "Variant" />
2017-09-12 22:42:36 +02:00
<description >
2020-01-06 06:33:53 +01:00
Triggered when the user clicks on content between meta tags. If the meta is defined in text, e.g. [code][url={"data"="hi"}]hi[/url][/code], then the parameter for this signal will be a [String] type. If a particular type or an object is desired, the [method push_meta] method must be used to manually insert the data into the tag stack.
2017-09-12 22:42:36 +02:00
</description>
</signal>
2017-11-24 09:16:27 +01:00
<signal name= "meta_hover_ended" >
2021-07-30 15:28:05 +02:00
<argument index= "0" name= "meta" type= "Variant" />
2017-11-17 06:49:39 +01:00
<description >
2017-11-24 09:16:27 +01:00
Triggers when the mouse exits a meta tag.
2017-11-17 06:49:39 +01:00
</description>
</signal>
2017-11-24 09:16:27 +01:00
<signal name= "meta_hover_started" >
2021-07-30 15:28:05 +02:00
<argument index= "0" name= "meta" type= "Variant" />
2017-11-17 06:49:39 +01:00
<description >
2017-11-24 09:16:27 +01:00
Triggers when the mouse enters a meta tag.
2017-11-17 06:49:39 +01:00
</description>
</signal>
2017-09-12 22:42:36 +02:00
</signals>
<constants >
2022-02-03 14:56:44 +01:00
<constant name= "AUTOWRAP_OFF" value= "0" enum= "AutowrapMode" >
Autowrap is disabled.
</constant>
<constant name= "AUTOWRAP_ARBITRARY" value= "1" enum= "AutowrapMode" >
Wraps the text inside the node's bounding rectangle by allowing to break lines at arbitrary positions, which is useful when very limited space is available.
</constant>
<constant name= "AUTOWRAP_WORD" value= "2" enum= "AutowrapMode" >
Wraps the text inside the node's bounding rectangle by soft-breaking between words.
</constant>
<constant name= "AUTOWRAP_WORD_SMART" value= "3" enum= "AutowrapMode" >
Behaves similarly to [constant AUTOWRAP_WORD], but force-breaks a word if that single word does not fit in one line.
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "LIST_NUMBERS" value= "0" enum= "ListType" >
2020-01-06 06:33:53 +01:00
Each list item has a number marker.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "LIST_LETTERS" value= "1" enum= "ListType" >
2020-01-06 06:33:53 +01:00
Each list item has a letter marker.
2017-09-12 22:42:36 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "LIST_ROMAN" value= "2" enum= "ListType" >
Each list item has a roman number marker.
</constant>
<constant name= "LIST_DOTS" value= "3" enum= "ListType" >
2020-01-06 06:33:53 +01:00
Each list item has a filled circle marker.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "ITEM_FRAME" value= "0" enum= "ItemType" >
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "ITEM_TEXT" value= "1" enum= "ItemType" >
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "ITEM_IMAGE" value= "2" enum= "ItemType" >
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "ITEM_NEWLINE" value= "3" enum= "ItemType" >
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "ITEM_FONT" value= "4" enum= "ItemType" >
2017-09-12 22:42:36 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_FONT_SIZE" value= "5" enum= "ItemType" >
</constant>
<constant name= "ITEM_FONT_FEATURES" value= "6" enum= "ItemType" >
2017-09-12 22:42:36 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_COLOR" value= "7" enum= "ItemType" >
2017-09-12 22:42:36 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_OUTLINE_SIZE" value= "8" enum= "ItemType" >
2018-10-07 15:52:07 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_OUTLINE_COLOR" value= "9" enum= "ItemType" >
2017-09-12 22:42:36 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_UNDERLINE" value= "10" enum= "ItemType" >
2017-09-12 22:42:36 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_STRIKETHROUGH" value= "11" enum= "ItemType" >
2017-09-12 22:42:36 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_PARAGRAPH" value= "12" enum= "ItemType" >
2017-10-22 12:56:11 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_INDENT" value= "13" enum= "ItemType" >
2019-09-24 11:44:48 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_LIST" value= "14" enum= "ItemType" >
2019-09-24 11:44:48 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_TABLE" value= "15" enum= "ItemType" >
2019-09-24 11:44:48 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_FADE" value= "16" enum= "ItemType" >
2019-09-24 11:44:48 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_SHAKE" value= "17" enum= "ItemType" >
2019-09-24 11:44:48 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_WAVE" value= "18" enum= "ItemType" >
2019-09-24 11:44:48 +02:00
</constant>
2020-10-02 14:02:02 +02:00
<constant name= "ITEM_TORNADO" value= "19" enum= "ItemType" >
</constant>
<constant name= "ITEM_RAINBOW" value= "20" enum= "ItemType" >
</constant>
2020-01-26 23:11:09 +01:00
<constant name= "ITEM_BGCOLOR" value= "21" enum= "ItemType" >
</constant>
<constant name= "ITEM_FGCOLOR" value= "22" enum= "ItemType" >
</constant>
<constant name= "ITEM_META" value= "23" enum= "ItemType" >
2017-09-12 22:42:36 +02:00
</constant>
2020-01-26 23:11:09 +01:00
<constant name= "ITEM_DROPCAP" value= "24" enum= "ItemType" >
2020-11-19 15:45:23 +01:00
</constant>
2020-01-26 23:11:09 +01:00
<constant name= "ITEM_CUSTOMFX" value= "25" enum= "ItemType" >
2020-11-19 15:45:23 +01:00
</constant>
2021-12-05 13:28:32 +01:00
<constant name= "VC_CHARS_BEFORE_SHAPING" value= "0" enum= "VisibleCharactersBehavior" >
Trims text before the shaping. e.g, increasing [member visible_characters] value is visually identical to typing the text.
</constant>
<constant name= "VC_CHARS_AFTER_SHAPING" value= "1" enum= "VisibleCharactersBehavior" >
Displays glyphs that are mapped to the first [member visible_characters] characters from the beginning of the text.
</constant>
<constant name= "VC_GLYPHS_AUTO" value= "2" enum= "VisibleCharactersBehavior" >
Displays [member percent_visible] glyphs, starting from the left or from the right, depending on [member Control.layout_direction] value.
</constant>
<constant name= "VC_GLYPHS_LTR" value= "3" enum= "VisibleCharactersBehavior" >
Displays [member percent_visible] glyphs, starting from the left.
</constant>
<constant name= "VC_GLYPHS_RTL" value= "4" enum= "VisibleCharactersBehavior" >
Displays [member percent_visible] glyphs, starting from the right.
</constant>
2017-09-12 22:42:36 +02:00
</constants>
<theme_items >
2021-08-04 18:54:41 +02:00
<theme_item name= "default_color" data_type= "color" type= "Color" default= "Color(1, 1, 1, 1)" >
2020-03-03 19:21:21 +01:00
The default text color.
2017-09-12 22:42:36 +02:00
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "font_outline_color" data_type= "color" type= "Color" default= "Color(1, 1, 1, 1)" >
2020-12-25 22:45:28 +01:00
The default tint of text outline.
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "font_selected_color" data_type= "color" type= "Color" default= "Color(0, 0, 0, 1)" >
2021-01-28 11:26:37 +01:00
The color of selected text, used when [member selection_enabled] is [code]true[/code].
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "font_shadow_color" data_type= "color" type= "Color" default= "Color(0, 0, 0, 0)" >
2020-03-03 19:21:21 +01:00
The color of the font's shadow.
2018-04-11 15:08:56 +02:00
</theme_item>
2021-12-01 19:02:20 +01:00
<theme_item name= "selection_color" data_type= "color" type= "Color" default= "Color(0.1, 0.1, 1, 0.8)" >
The color of the selection box.
2017-09-12 22:42:36 +02:00
</theme_item>
2021-12-01 19:02:20 +01:00
<theme_item name= "table_border" data_type= "color" type= "Color" default= "Color(0, 0, 0, 0)" >
The default cell border color.
2020-10-02 14:02:02 +02:00
</theme_item>
2021-12-01 19:02:20 +01:00
<theme_item name= "table_even_row_bg" data_type= "color" type= "Color" default= "Color(0, 0, 0, 0)" >
The default background color for even rows.
2017-09-12 22:42:36 +02:00
</theme_item>
2021-12-01 19:02:20 +01:00
<theme_item name= "table_odd_row_bg" data_type= "color" type= "Color" default= "Color(0, 0, 0, 0)" >
The default background color for odd rows.
2017-09-12 22:42:36 +02:00
</theme_item>
2021-12-01 19:02:20 +01:00
<theme_item name= "line_separation" data_type= "constant" type= "int" default= "0" >
The vertical space between lines.
2020-10-02 14:02:02 +02:00
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "outline_size" data_type= "constant" type= "int" default= "0" >
2020-12-25 22:45:28 +01:00
The size of the text outline.
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "shadow_offset_x" data_type= "constant" type= "int" default= "1" >
2020-03-03 19:21:21 +01:00
The horizontal offset of the font's shadow.
2018-05-12 09:38:00 +02:00
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "shadow_offset_y" data_type= "constant" type= "int" default= "1" >
2020-03-03 19:21:21 +01:00
The vertical offset of the font's shadow.
2018-05-12 09:38:00 +02:00
</theme_item>
2021-11-05 23:28:48 +01:00
<theme_item name= "shadow_outline_size" data_type= "constant" type= "int" default= "1" >
The size of the shadow outline.
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "table_hseparation" data_type= "constant" type= "int" default= "3" >
2020-03-03 19:21:21 +01:00
The horizontal separation of elements in a table.
2017-09-12 22:42:36 +02:00
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "table_vseparation" data_type= "constant" type= "int" default= "3" >
2020-03-03 19:21:21 +01:00
The vertical separation of elements in a table.
2017-09-12 22:42:36 +02:00
</theme_item>
2021-12-01 19:02:20 +01:00
<theme_item name= "bold_font" data_type= "font" type= "Font" >
The font used for bold text.
</theme_item>
<theme_item name= "bold_italics_font" data_type= "font" type= "Font" >
The font used for bold italics text.
</theme_item>
<theme_item name= "italics_font" data_type= "font" type= "Font" >
The font used for italics text.
</theme_item>
<theme_item name= "mono_font" data_type= "font" type= "Font" >
The font used for monospace text.
</theme_item>
<theme_item name= "normal_font" data_type= "font" type= "Font" >
The default text font.
</theme_item>
<theme_item name= "bold_font_size" data_type= "font_size" type= "int" >
The font size used for bold text.
</theme_item>
<theme_item name= "bold_italics_font_size" data_type= "font_size" type= "int" >
The font size used for bold italics text.
</theme_item>
<theme_item name= "italics_font_size" data_type= "font_size" type= "int" >
The font size used for italics text.
</theme_item>
<theme_item name= "mono_font_size" data_type= "font_size" type= "int" >
The font size used for monospace text.
</theme_item>
<theme_item name= "normal_font_size" data_type= "font_size" type= "int" >
The default text font size.
</theme_item>
<theme_item name= "focus" data_type= "style" type= "StyleBox" >
2021-11-20 17:43:34 +01:00
The background used when the [RichTextLabel] is focused. The [code]focus[/code] [StyleBox] is displayed [i]over[/i] the base [StyleBox], so a partially transparent [StyleBox] should be used to ensure the base [StyleBox] remains visible. A [StyleBox] that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a [StyleBoxEmpty] resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
2021-12-01 19:02:20 +01:00
</theme_item>
<theme_item name= "normal" data_type= "style" type= "StyleBox" >
The normal background for the [RichTextLabel].
</theme_item>
2017-09-12 22:42:36 +02:00
</theme_items>
</class>