2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 10:08:05 +02:00
<class name= "RichTextLabel" inherits= "Control" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-12 22:42:36 +02:00
<brief_description >
2023-04-30 16:26:09 +02:00
A control for displaying text that can contain different font styles, images, and basic formatting.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2023-04-30 16:26:09 +02:00
A control for displaying text that can contain custom fonts, images, and basic formatting. [RichTextLabel] 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.
2023-10-02 20:11:43 +02:00
[b]Note:[/b] RichTextLabel doesn't support entangled BBCode tags. For example, instead of using [code skip-lint][b]bold[i]bold italic[/b]italic[/i][/code], use [code skip-lint][b]bold[i]bold italic[/i][/b][i]italic[/i][/code].
2023-04-30 16:26:09 +02:00
[b]Note:[/b] [code]push_*/pop_*[/code] functions won't affect BBCode.
2023-10-02 20:11:43 +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 skip-lint][center][/code] tag as follows: [code skip-lint][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] 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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "image" type= "Texture2D" />
<param index= "1" name= "width" type= "int" default= "0" />
<param index= "2" name= "height" type= "int" default= "0" />
<param index= "3" name= "color" type= "Color" default= "Color(1, 1, 1, 1)" />
<param index= "4" name= "inline_align" type= "int" enum= "InlineAlignment" default= "5" />
2022-10-10 16:55:28 +02:00
<param index= "5" name= "region" type= "Rect2" default= "Rect2(0, 0, 0, 0)" />
2022-12-07 21:40:03 +01:00
<param index= "6" name= "key" type= "Variant" default= "null" />
<param index= "7" name= "pad" type= "bool" default= "false" />
<param index= "8" name= "tooltip" type= "String" default= """" />
<param index= "9" name= "size_in_percent" type= "bool" default= "false" />
2017-09-12 22:42:36 +02:00
<description >
2022-10-10 16:55:28 +02:00
Adds an image's opening and closing tags to the tag stack, optionally providing a [param width] and [param height] to resize the image, a [param color] to tint the image and a [param region] to only use parts of the image.
2022-08-10 04:00:19 +02:00
If [param width] or [param height] is set to 0, the image size will be adjusted in order to keep the original aspect ratio.
2022-10-10 16:55:28 +02:00
If [param width] and [param height] are not set, but [param region] is, the region's rect will be used.
2022-12-07 21:40:03 +01:00
[param key] is an optional identifier, that can be used to modify the image via [method update_image].
If [param pad] is set, and the image is smaller than the size specified by [param width] and [param height], the image padding is added to match the size instead of upscaling.
If [param size_in_percent] is set, [param width] and [param height] values are percentages of the control width instead of pixels.
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" />
2022-08-06 20:11:48 +02:00
<param 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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "bbcode" type= "String" />
2017-09-12 22:42:36 +02:00
<description >
2022-08-10 04:00:19 +02:00
Parses [param bbcode] 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 >
2024-03-03 00:38:04 +01:00
Clears the tag stack, causing the label to display nothing.
[b]Note:[/b] This method does not affect [member text], and its contents will show again if the label is redrawn. However, setting [member text] to an empty [String] also clears the stack.
2017-09-12 22:42:36 +02:00
</description>
</method>
2022-04-04 16:06:57 +02:00
<method name= "deselect" >
<return type= "void" />
<description >
Clears the current selection.
</description>
</method>
2022-02-11 22:02:59 +01:00
<method name= "get_character_line" >
<return type= "int" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "character" type= "int" />
2022-02-11 22:02:59 +01:00
<description >
2024-02-28 13:46:01 +01:00
Returns the line number of the character position provided. Line and character numbers are both zero-indexed.
2022-05-18 09:17:55 +02:00
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
2022-02-11 22:02:59 +01:00
</description>
</method>
<method name= "get_character_paragraph" >
<return type= "int" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "character" type= "int" />
2022-02-11 22:02:59 +01:00
<description >
2024-02-28 13:46:01 +01:00
Returns the paragraph number of the character position provided. Paragraph and character numbers are both zero-indexed.
2022-05-18 09:17:55 +02:00
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
2022-02-11 22:02:59 +01:00
</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.
2022-05-18 09:17:55 +02:00
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
2018-05-12 09:38:00 +02:00
</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.
2022-05-18 09:17:55 +02:00
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
2022-02-09 21:02:46 +01:00
</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.
2022-05-18 09:17:55 +02:00
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
2021-01-12 13:03:10 +01:00
</description>
</method>
2022-02-13 18:33:37 +01:00
<method name= "get_line_offset" >
<return type= "float" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "line" type= "int" />
2022-02-13 18:33:37 +01:00
<description >
Returns the vertical offset of the line found at the provided index.
2022-05-18 09:17:55 +02:00
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
2022-02-13 18:33:37 +01:00
</description>
</method>
2022-04-12 08:58:04 +02:00
<method name= "get_menu" qualifiers= "const" >
<return type= "PopupMenu" />
<description >
Returns the [PopupMenu] of this [RichTextLabel]. By default, this menu is displayed when right-clicking on the [RichTextLabel].
2023-02-03 10:07:36 +01:00
You can add custom menu items or remove standard ones. Make sure your IDs don't conflict with the standard ones (see [enum MenuItems]). For example:
[codeblocks]
[gdscript]
func _ready():
var menu = get_menu()
# Remove "Select All" item.
menu.remove_item(MENU_SELECT_ALL)
# Add custom items.
menu.add_separator()
menu.add_item("Duplicate Text", MENU_MAX + 1)
# Connect callback.
menu.id_pressed.connect(_on_item_pressed)
func _on_item_pressed(id):
if id == MENU_MAX + 1:
add_text("\n" + get_parsed_text())
[/gdscript]
[csharp]
public override void _Ready()
{
var menu = GetMenu();
// Remove "Select All" item.
menu.RemoveItem(RichTextLabel.MenuItems.SelectAll);
// Add custom items.
menu.AddSeparator();
menu.AddItem("Duplicate Text", RichTextLabel.MenuItems.Max + 1);
// Add event handler.
menu.IdPressed += OnItemPressed;
}
public void OnItemPressed(int id)
{
if (id == TextEdit.MenuItems.Max + 1)
{
AddText("\n" + GetParsedText());
}
}
[/csharp]
[/codeblocks]
2022-04-12 08:58:04 +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 Window.visible] property.
</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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "paragraph" type= "int" />
2022-02-13 18:33:37 +01:00
<description >
Returns the vertical offset of the paragraph found at the provided index.
2022-05-18 09:17:55 +02:00
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
2022-02-13 18:33:37 +01:00
</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.
2022-05-18 09:17:55 +02:00
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
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.
2022-05-18 09:17:55 +02:00
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
2021-01-12 13:03:10 +01:00
</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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "effect" type= "Variant" />
2019-09-24 11:44:48 +02:00
<description >
2023-12-19 17:29:49 +01:00
Installs a custom effect. This can also be done in the RichTextLabel inspector using the [member custom_effects] property. [param effect] should be a valid [RichTextEffect].
Example RichTextEffect:
[codeblock]
# effect.gd
class_name MyCustomEffect
extends RichTextEffect
var bbcode = "my_custom_effect"
# ...
[/codeblock]
Registering the above effect in RichTextLabel from script:
[codeblock]
# rich_text_label.gd
extends RichTextLabel
func _ready():
install_effect(MyCustomEffect.new())
# Alternatively, if not using `class_name` in the script that extends RichTextEffect:
install_effect(preload("res://effect.gd").new())
[/codeblock]
2019-09-24 11:44:48 +02:00
</description>
</method>
2022-04-12 08:58:04 +02:00
<method name= "is_menu_visible" qualifiers= "const" >
<return type= "bool" />
<description >
Returns whether the menu is visible. Use this instead of [code]get_menu().visible[/code] to improve performance (so the creation of the menu is avoided).
</description>
</method>
2022-05-18 09:17:55 +02:00
<method name= "is_ready" qualifiers= "const" >
<return type= "bool" />
<description >
If [member threaded] is enabled, returns [code]true[/code] if the background thread has finished text processing, otherwise always return [code]true[/code].
</description>
</method>
2023-02-03 10:07:36 +01:00
<method name= "menu_option" >
<return type= "void" />
<param index= "0" name= "option" type= "int" />
<description >
Executes a given action as defined in the [enum MenuItems] enum.
</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" />
2022-08-06 20:11:48 +02:00
<param 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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "expressions" type= "PackedStringArray" />
2019-09-24 11:44:48 +02:00
<description >
2022-08-10 04:00:19 +02:00
Parses BBCode parameter [param expressions] 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>
2023-07-04 08:52:50 +02:00
<method name= "pop_all" >
<return type= "void" />
<description >
Terminates all tags opened by [code]push_*[/code] methods.
</description>
</method>
<method name= "pop_context" >
<return type= "void" />
<description >
Terminates tags opened after the last [method push_context] call (including context marker), or all tags if there's no context marker on the stack.
</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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "bgcolor" type= "Color" />
2020-01-26 23:11:09 +01:00
<description >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][bgcolor][/code] tag to the tag stack.
2020-01-26 23:11:09 +01:00
</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 >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][font][/code] tag with a bold font to the tag stack. This is the same as adding a [code skip-lint][b][/code] tag if not currently in a [code skip-lint][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 >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][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 >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][cell][/code] tag to the tag stack. Must be inside a [code skip-lint][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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "color" type= "Color" />
2017-09-12 22:42:36 +02:00
<description >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][color][/code] tag to the tag stack.
2017-09-12 22:42:36 +02:00
</description>
</method>
2023-07-04 08:52:50 +02:00
<method name= "push_context" >
<return type= "void" />
<description >
Adds a context marker to the tag stack. See [method pop_context].
</description>
2017-09-12 22:42:36 +02:00
</method>
2023-01-24 18:13:03 +01:00
<method name= "push_customfx" >
<return type= "void" />
<param index= "0" name= "effect" type= "RichTextEffect" />
<param index= "1" name= "env" type= "Dictionary" />
<description >
Adds a custom effect tag to the tag stack. The effect does not need to be in [member custom_effects]. The environment is directly passed to the effect.
</description>
2017-09-12 22:42:36 +02:00
</method>
2020-11-19 15:45:23 +01:00
<method name= "push_dropcap" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "string" type= "String" />
<param index= "1" name= "font" type= "Font" />
<param index= "2" name= "size" type= "int" />
<param index= "3" name= "dropcap_margins" type= "Rect2" default= "Rect2(0, 0, 0, 0)" />
<param index= "4" name= "color" type= "Color" default= "Color(1, 1, 1, 1)" />
<param index= "5" name= "outline_size" type= "int" default= "0" />
<param index= "6" name= "outline_color" type= "Color" default= "Color(0, 0, 0, 0)" />
2020-11-19 15:45:23 +01:00
<description >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][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.
2020-11-19 15:45:23 +01:00
</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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "fgcolor" type= "Color" />
2020-01-26 23:11:09 +01:00
<description >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][fgcolor][/code] tag to the tag stack.
2020-01-26 23:11:09 +01:00
</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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "font" type= "Font" />
2023-07-05 10:50:32 +02:00
<param index= "1" name= "font_size" type= "int" default= "0" />
2017-09-12 22:42:36 +02:00
<description >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][font][/code] tag to the tag stack. Overrides default fonts for its duration.
2023-07-05 10:50:32 +02:00
Passing [code]0[/code] to [param font_size] will use the existing default font size.
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-10-02 14:02:02 +02:00
<method name= "push_font_size" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "font_size" type= "int" />
2020-10-02 14:02:02 +02:00
<description >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][font_size][/code] tag to the tag stack. Overrides default font size for its duration.
2020-10-02 14:02:02 +02:00
</description>
</method>
2022-02-21 18:34:16 +01:00
<method name= "push_hint" >
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "description" type= "String" />
2022-02-21 18:34:16 +01:00
<description >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][hint][/code] tag to the tag stack. Same as BBCode [code skip-lint][hint=something]{text}[/hint][/code].
2022-02-21 18:34:16 +01:00
</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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "level" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2023-10-02 20:11:43 +02:00
Adds an [code skip-lint][indent][/code] tag to the tag stack. Multiplies [param level] 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 >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][font][/code] tag with an italics font to the tag stack. This is the same as adding an [code skip-lint][i][/code] tag if not currently in a [code skip-lint][b][/code] tag.
2019-10-26 16:40:31 +02:00
</description>
</method>
2023-08-21 13:52:09 +02:00
<method name= "push_language" >
<return type= "void" />
<param index= "0" name= "language" type= "String" />
<description >
Adds language code used for text shaping algorithm and Open-Type font features.
</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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "level" type= "int" />
<param index= "1" name= "type" type= "int" enum= "RichTextLabel.ListType" />
<param index= "2" name= "capitalize" type= "bool" />
2023-03-17 07:44:11 +01:00
<param index= "3" name= "bullet" type= "String" default= ""•"" />
2017-09-12 22:42:36 +02:00
<description >
2023-10-02 20:11:43 +02:00
Adds [code skip-lint][ol][/code] or [code skip-lint][ul][/code] tag to the tag stack. Multiplies [param level] 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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "data" type= "Variant" />
2024-02-29 20:21:13 +01:00
<param index= "1" name= "underline_mode" type= "int" enum= "RichTextLabel.MetaUnderline" default= "1" />
2017-09-12 22:42:36 +02:00
<description >
2023-10-02 20:11:43 +02:00
Adds a meta tag to the tag stack. Similar to the BBCode [code skip-lint][url=something]{text}[/url][/code], but supports non-[String] metadata types.
2024-02-29 20:21:13 +01:00
If [member meta_underlined] is [code]true[/code], meta tags display an underline. This behavior can be customized with [param underline_mode].
2024-02-12 19:55:39 +01:00
[b]Note:[/b] Meta tags do nothing by default when clicked. To assign behavior when clicked, connect [signal meta_clicked] to a function that is called when the meta tag is clicked.
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 >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][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 >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "color" type= "Color" />
2020-10-02 14:02:02 +02:00
<description >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][outline_color][/code] tag to the tag stack. Adds text outline for its duration.
2020-10-02 14:02:02 +02:00
</description>
</method>
<method name= "push_outline_size" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "outline_size" type= "int" />
2020-10-02 14:02:02 +02:00
<description >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][outline_size][/code] tag to the tag stack. Overrides default text outline size for its duration.
2020-10-02 14:02:02 +02:00
</description>
</method>
<method name= "push_paragraph" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "alignment" type= "int" enum= "HorizontalAlignment" />
<param index= "1" name= "base_direction" type= "int" enum= "Control.TextDirection" default= "0" />
<param index= "2" name= "language" type= "String" default= """" />
<param index= "3" name= "st_parser" type= "int" enum= "TextServer.StructuredTextParser" default= "0" />
2023-06-15 16:06:22 +02:00
<param index= "4" name= "justification_flags" type= "int" enum= "TextServer.JustificationFlag" is_bitfield= "true" default= "163" />
2023-04-24 13:45:45 +02:00
<param index= "5" name= "tab_stops" type= "PackedFloat32Array" default= "PackedFloat32Array()" />
2020-10-02 14:02:02 +02:00
<description >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][p][/code] tag to the tag stack.
2020-10-02 14:02:02 +02:00
</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 >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "columns" type= "int" />
<param index= "1" name= "inline_align" type= "int" enum= "InlineAlignment" default= "0" />
2022-12-08 21:01:07 +01:00
<param index= "2" name= "align_to_row" type= "int" default= "-1" />
2017-09-12 22:42:36 +02:00
<description >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][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 >
2023-10-02 20:11:43 +02:00
Adds a [code skip-lint][u][/code] tag to the tag stack.
2017-09-12 22:42:36 +02:00
</description>
</method>
2022-12-21 18:54:18 +01:00
<method name= "remove_paragraph" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
2022-12-21 18:54:18 +01:00
<param index= "0" name= "paragraph" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2022-12-21 18:54:18 +01:00
Removes a paragraph of content from the label. Returns [code]true[/code] if the paragraph exists.
The [param paragraph] argument is the index of the paragraph to remove, it can take values in the interval [code][0, get_paragraph_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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "line" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2022-08-10 04:00:19 +02:00
Scrolls the window's top line to match [param line].
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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "paragraph" type= "int" />
2021-01-12 13:03:10 +01:00
<description >
2022-08-10 04:00:19 +02:00
Scrolls the window's top line to match first line of the [param paragraph].
2021-01-12 13:03:10 +01:00
</description>
</method>
2022-12-04 21:11:21 +01:00
<method name= "scroll_to_selection" >
<return type= "void" />
<description >
Scrolls to the beginning of the current selection.
</description>
</method>
2022-04-10 18:03:10 +02:00
<method name= "select_all" >
<return type= "void" />
<description >
Select all the text.
If [member selection_enabled] is [code]false[/code], no selection will occur.
</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" />
2022-08-06 20:11:48 +02:00
<param 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" />
2022-08-06 20:11:48 +02:00
<param 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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "odd_row_bg" type= "Color" />
<param 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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "min_size" type= "Vector2" />
<param 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" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "column" type= "int" />
<param index= "1" name= "expand" type= "bool" />
2023-07-05 10:50:32 +02:00
<param index= "2" name= "ratio" type= "int" default= "1" />
2017-09-12 22:42:36 +02:00
<description >
2022-08-10 04:00:19 +02:00
Edits the selected column's expansion options. If [param expand] 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.
2022-08-10 04:00:19 +02:00
If [param expand] is [code]false[/code], the column will not contribute to the total ratio.
2017-09-12 22:42:36 +02:00
</description>
</method>
2022-12-07 21:40:03 +01:00
<method name= "update_image" >
<return type= "void" />
<param index= "0" name= "key" type= "Variant" />
<param index= "1" name= "mask" type= "int" enum= "RichTextLabel.ImageUpdateMask" is_bitfield= "true" />
<param index= "2" name= "image" type= "Texture2D" />
<param index= "3" name= "width" type= "int" default= "0" />
<param index= "4" name= "height" type= "int" default= "0" />
<param index= "5" name= "color" type= "Color" default= "Color(1, 1, 1, 1)" />
<param index= "6" name= "inline_align" type= "int" enum= "InlineAlignment" default= "5" />
<param index= "7" name= "region" type= "Rect2" default= "Rect2(0, 0, 0, 0)" />
<param index= "8" name= "pad" type= "bool" default= "false" />
<param index= "9" name= "tooltip" type= "String" default= """" />
<param index= "10" name= "size_in_percent" type= "bool" default= "false" />
<description >
Updates the existing images with the key [param key]. Only properties specified by [param mask] bits are updated. See [method add_image].
</description>
</method>
2017-09-12 22:42:36 +02:00
</methods>
<members >
2022-06-15 10:01:45 +02:00
<member name= "autowrap_mode" type= "int" setter= "set_autowrap_mode" getter= "get_autowrap_mode" enum= "TextServer.AutowrapMode" default= "3" >
If set to something other than [constant TextServer.AUTOWRAP_OFF], the text gets wrapped inside the node's bounding rectangle. To see how each mode behaves, see [enum TextServer.AutowrapMode].
2022-02-03 14:56:44 +01:00
</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.
2024-03-03 00:38:04 +01:00
[b]Note:[/b] This only affects the contents of [member text], not the tag stack.
2017-09-12 22:42:36 +02:00
</member>
2022-01-23 18:14:31 +01:00
<member name= "clip_contents" type= "bool" setter= "set_clip_contents" getter= "is_clipping_contents" overrides= "Control" default= "true" />
2022-04-12 08:58:04 +02:00
<member name= "context_menu_enabled" type= "bool" setter= "set_context_menu_enabled" getter= "is_context_menu_enabled" default= "false" >
If [code]true[/code], a right-click displays the context menu.
</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>
2023-07-17 02:32:00 +02:00
<member name= "drag_and_drop_selection_enabled" type= "bool" setter= "set_drag_and_drop_selection_enabled" getter= "is_drag_and_drop_selection_enabled" default= "true" >
If [code]true[/code], allow drag and drop of selected text.
</member>
2023-01-13 15:17:26 +01:00
<member name= "fit_content" type= "bool" setter= "set_fit_content" getter= "is_fit_content_enabled" default= "false" >
If [code]true[/code], the label's minimum size will be automatically updated to fit its content, matching the behavior of [Label].
2019-11-01 15:17:40 +01:00
</member>
2022-02-21 18:34:16 +01:00
<member name= "hint_underlined" type= "bool" setter= "set_hint_underline" getter= "is_hint_underlined" default= "true" >
2023-10-02 20:11:43 +02:00
If [code]true[/code], the label underlines hint tags such as [code skip-lint][hint=description]{text}[/hint][/code].
2022-02-21 18:34:16 +01:00
</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" >
2024-02-12 19:55:39 +01:00
If [code]true[/code], the label underlines meta tags such as [code skip-lint][url]{text}[/url][/code]. These tags can call a function when clicked if [signal meta_clicked] is connected to a function.
2018-01-11 23:38:35 +01:00
</member>
2022-05-18 09:17:55 +02:00
<member name= "progress_bar_delay" type= "int" setter= "set_progress_bar_delay" getter= "get_progress_bar_delay" default= "1000" >
The delay after which the loading progress bar is displayed, in milliseconds. Set to [code]-1[/code] to disable progress bar entirely.
2022-05-23 21:32:19 +02:00
[b]Note:[/b] Progress bar is displayed only if [member threaded] is enabled.
2022-05-18 09:17:55 +02:00
</member>
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>
2022-04-12 08:58:04 +02:00
<member name= "shortcut_keys_enabled" type= "bool" setter= "set_shortcut_keys_enabled" getter= "is_shortcut_keys_enabled" default= "true" >
If [code]true[/code], shortcut keys for context menu items are enabled, even if the context menu is disabled.
</member>
2022-04-19 12:27:18 +02:00
<member name= "structured_text_bidi_override" type= "int" setter= "set_structured_text_bidi_override" getter= "get_structured_text_bidi_override" enum= "TextServer.StructuredTextParser" default= "0" >
2020-10-02 14:02:02 +02:00
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.
2023-10-02 20:11:43 +02:00
[b]Note:[/b] If [member bbcode_enabled] is [code]true[/code], it is unadvised to use the [code]+=[/code] operator with [member text] (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>
2022-05-18 09:17:55 +02:00
<member name= "threaded" type= "bool" setter= "set_threaded" getter= "is_threaded" default= "false" >
If [code]true[/code], text processing is done in a background thread.
</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" >
2022-08-22 15:13:19 +02:00
The number of characters to display. If set to [code]-1[/code], all characters are displayed. This can be useful when animating the text appearing in a dialog box.
2022-08-20 20:06:13 +02:00
[b]Note:[/b] Setting this property updates [member visible_ratio] accordingly.
2017-09-12 22:42:36 +02:00
</member>
2022-06-15 10:01:45 +02:00
<member name= "visible_characters_behavior" type= "int" setter= "set_visible_characters_behavior" getter= "get_visible_characters_behavior" enum= "TextServer.VisibleCharactersBehavior" default= "0" >
2022-08-20 20:06:13 +02:00
Sets the clipping behavior when [member visible_characters] or [member visible_ratio] is set. See [enum TextServer.VisibleCharactersBehavior] for more info.
</member>
<member name= "visible_ratio" type= "float" setter= "set_visible_ratio" getter= "get_visible_ratio" default= "1.0" >
The fraction of characters to display, relative to the total number of characters (see [method get_total_character_count]). If set to [code]1.0[/code], all characters are displayed. If set to [code]0.5[/code], only half of the characters will be displayed. This can be useful when animating the text appearing in a dialog box.
[b]Note:[/b] Setting this property updates [member visible_characters] accordingly.
2021-12-05 13:28:32 +01:00
</member>
2017-09-12 22:42:36 +02:00
</members>
<signals >
2022-05-18 09:17:55 +02:00
<signal name= "finished" >
<description >
Triggered when the document is fully loaded.
</description>
</signal>
2017-09-12 22:42:36 +02:00
<signal name= "meta_clicked" >
2022-08-06 20:11:48 +02:00
<param index= "0" name= "meta" type= "Variant" />
2017-09-12 22:42:36 +02:00
<description >
2024-02-12 19:55:39 +01:00
Triggered when the user clicks on content between meta (URL) tags. If the meta is defined in BBCode, e.g. [code skip-lint][url={"key": "value"}]Text[/url][/code], then the parameter for this signal will always 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. Alternatively, you can convert the [String] input to the desired type based on its contents (such as calling [method JSON.parse] on it).
For example, the following method can be connected to [signal meta_clicked] to open clicked URLs using the user's default web browser:
[codeblocks]
[gdscript]
# This assumes RichTextLabel's `meta_clicked` signal was connected to
# the function below using the signal connection dialog.
func _richtextlabel_on_meta_clicked(meta):
# `meta` is of Variant type, so convert it to a String to avoid script errors at run-time.
OS.shell_open(str(meta))
[/gdscript]
[/codeblocks]
2017-09-12 22:42:36 +02:00
</description>
</signal>
2017-11-24 09:16:27 +01:00
<signal name= "meta_hover_ended" >
2022-08-06 20:11:48 +02:00
<param 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" >
2022-08-06 20:11:48 +02:00
<param 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 >
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>
2023-02-03 10:07:36 +01:00
<constant name= "MENU_COPY" value= "0" enum= "MenuItems" >
Copies the selected text.
</constant>
<constant name= "MENU_SELECT_ALL" value= "1" enum= "MenuItems" >
Selects the whole [RichTextLabel] text.
</constant>
<constant name= "MENU_MAX" value= "2" enum= "MenuItems" >
Represents the size of the [enum MenuItems] enum.
</constant>
2024-02-29 20:21:13 +01:00
<constant name= "META_UNDERLINE_NEVER" value= "0" enum= "MetaUnderline" >
Meta tag does not display an underline, even if [member meta_underlined] is [code]true[/code].
</constant>
<constant name= "META_UNDERLINE_ALWAYS" value= "1" enum= "MetaUnderline" >
If [member meta_underlined] is [code]true[/code], meta tag always display an underline.
</constant>
<constant name= "META_UNDERLINE_ON_HOVER" value= "2" enum= "MetaUnderline" >
If [member meta_underlined] is [code]true[/code], meta tag display an underline when the mouse cursor is over it.
</constant>
2022-12-07 21:40:03 +01:00
<constant name= "UPDATE_TEXTURE" value= "1" enum= "ImageUpdateMask" is_bitfield= "true" >
If this bit is set, [method update_image] changes image texture.
</constant>
<constant name= "UPDATE_SIZE" value= "2" enum= "ImageUpdateMask" is_bitfield= "true" >
If this bit is set, [method update_image] changes image size.
</constant>
<constant name= "UPDATE_COLOR" value= "4" enum= "ImageUpdateMask" is_bitfield= "true" >
If this bit is set, [method update_image] changes image color.
</constant>
<constant name= "UPDATE_ALIGNMENT" value= "8" enum= "ImageUpdateMask" is_bitfield= "true" >
If this bit is set, [method update_image] changes image inline alignment.
</constant>
<constant name= "UPDATE_REGION" value= "16" enum= "ImageUpdateMask" is_bitfield= "true" >
If this bit is set, [method update_image] changes image texture region.
</constant>
<constant name= "UPDATE_PAD" value= "32" enum= "ImageUpdateMask" is_bitfield= "true" >
If this bit is set, [method update_image] changes image padding.
</constant>
<constant name= "UPDATE_TOOLTIP" value= "64" enum= "ImageUpdateMask" is_bitfield= "true" >
If this bit is set, [method update_image] changes image tooltip.
</constant>
<constant name= "UPDATE_WIDTH_IN_PERCENT" value= "128" enum= "ImageUpdateMask" is_bitfield= "true" >
If this bit is set, [method update_image] changes image width from/to percents.
</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-11-05 20:50:01 +01:00
<theme_item name= "font_outline_color" data_type= "color" type= "Color" default= "Color(0, 0, 0, 1)" >
2020-12-25 22:45:28 +01:00
The default tint of text outline.
</theme_item>
2022-10-26 00:46:06 +02:00
<theme_item name= "font_selected_color" data_type= "color" type= "Color" default= "Color(0, 0, 0, 0)" >
The color of selected text, used when [member selection_enabled] is [code]true[/code]. If equal to [code]Color(0, 0, 0, 0)[/code], it will be ignored.
2021-01-28 11:26:37 +01:00
</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.
2022-12-19 17:15:44 +01:00
[b]Note:[/b] If using a font with [member FontFile.multichannel_signed_distance_field] enabled, its [member FontFile.msdf_pixel_range] must be set to at least [i]twice[/i] the value of [theme_item outline_size] for outline rendering to look correct. Otherwise, the outline may appear to be cut off earlier than intended.
2020-12-25 22:45:28 +01:00
</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>
2022-04-14 23:20:28 +02:00
<theme_item name= "table_h_separation" 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>
2022-04-14 23:20:28 +02:00
<theme_item name= "table_v_separation" 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>
2022-07-28 20:49:10 +02:00
<theme_item name= "text_highlight_h_padding" data_type= "constant" type= "int" default= "3" >
2023-07-17 08:53:38 +02:00
The horizontal padding around boxes drawn by the [code][fgcolor][/code] and [code][bgcolor][/code] tags. This does not affect the appearance of text selection.
2022-07-28 20:49:10 +02:00
</theme_item>
<theme_item name= "text_highlight_v_padding" data_type= "constant" type= "int" default= "3" >
2023-07-17 08:53:38 +02:00
The vertical padding around boxes drawn by the [code][fgcolor][/code] and [code][bgcolor][/code] tags. This does not affect the appearance of text selection.
2022-07-28 20:49:10 +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" >
2023-10-02 20:11:43 +02:00
The background used when the [RichTextLabel] is focused. The [theme_item focus] [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>