Class RichTextLabel
A control for displaying text that can contain different font styles, images, and basic formatting.
- Inheritance
-
RichTextLabel
Remarks
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.
Note: newline, RichTextLabel.push_paragraph, "\n"
, "\r\n"
, p
tag, and alignment tags start a new paragraph. Each paragraph is processed independently, in its own BiDi context. If you want to force line wrapping within paragraph, any other line breaking character can be used, for example, Form Feed (U+000C), Next Line (U+0085), Line Separator (U+2028).
Note: Assignments to text clear the tag stack and reconstruct it from the property's contents. Any edits made to text will erase previous edits made from other manual sources such as RichTextLabel.append_text and the push_*
/ pop methods.
Note: RichTextLabel doesn't support entangled BBCode tags. For example, instead of using [b]bold[i]bold italic[/b]italic[/i]
, use [b]bold[i]bold italic[/i][/b][i]italic[/i]
.
Note: push_*/pop_*
functions won't affect BBCode.
Note: Unlike Label, RichTextLabel doesn't have a property to horizontally align text to the center. Instead, enable bbcode_enabled and surround the text in a [center]
tag as follows: [center]Example[/center]
. There is currently no built-in way to vertically align text either, but this can be emulated by relying on anchors/containers and the fit_content property.
See Also
Properties
autowrap_mode
If set to something other than TextServer.AUTOWRAP_OFF, the text gets wrapped inside the node's bounding rectangle. To see how each mode behaves, see AutowrapMode.
var autowrap_mode : int = 3
Property Value
Remarks
bbcode_enabled
If true
, the label uses BBCode formatting.
Note: This only affects the contents of text, not the tag stack.
var bbcode_enabled : bool = false
Property Value
Remarks
context_menu_enabled
If true
, a right-click displays the context menu.
var context_menu_enabled : bool = false
Property Value
Remarks
custom_effects
The currently installed custom effects. This is an array of RichTextEffects.
To add a custom effect, it's more convenient to use RichTextLabel.install_effect.
var custom_effects : Array = []
Property Value
Remarks
deselect_on_focus_loss_enabled
If true
, the selected text will be deselected when focus is lost.
var deselect_on_focus_loss_enabled : bool = true
Property Value
Remarks
drag_and_drop_selection_enabled
If true
, allow drag and drop of selected text.
var drag_and_drop_selection_enabled : bool = true
Property Value
Remarks
fit_content
If true
, the label's minimum size will be automatically updated to fit its content, matching the behavior of Label.
var fit_content : bool = false
Property Value
Remarks
hint_underlined
If true
, the label underlines hint tags such as [hint=description]{text}[/hint]
.
var hint_underlined : bool = true
Property Value
Remarks
horizontal_alignment
Controls the text's horizontal alignment. Supports left, center, right, and fill, or justify. Set it to one of the HorizontalAlignment constants.
var horizontal_alignment : int = 0
Property Value
Remarks
justification_flags
Line fill alignment rules. See JustificationFlag for more information.
var justification_flags : int = 163
Property Value
Remarks
language
Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
var language : String = ""
Property Value
Remarks
meta_underlined
If true
, the label underlines meta tags such as [url]{text}[/url]
. These tags can call a function when clicked if RichTextLabel.meta_clicked is connected to a function.
var meta_underlined : bool = true
Property Value
Remarks
progress_bar_delay
The delay after which the loading progress bar is displayed, in milliseconds. Set to -1
to disable progress bar entirely.
Note: Progress bar is displayed only if threaded is enabled.
var progress_bar_delay : int = 1000
Property Value
Remarks
scroll_active
If true
, the scrollbar is visible. Setting this to false
does not block scrolling completely. See RichTextLabel.scroll_to_line.
var scroll_active : bool = true
Property Value
Remarks
scroll_following
If true
, the window scrolls down to display new content automatically.
var scroll_following : bool = false
Property Value
Remarks
selection_enabled
If true
, the label allows text selection.
var selection_enabled : bool = false
Property Value
Remarks
shortcut_keys_enabled
If true
, shortcut keys for context menu items are enabled, even if the context menu is disabled.
var shortcut_keys_enabled : bool = true
Property Value
Remarks
structured_text_bidi_override
Set BiDi algorithm override for the structured text.
var structured_text_bidi_override : int = 0
Property Value
Remarks
structured_text_bidi_override_options
Set additional options for BiDi override.
var structured_text_bidi_override_options : Array = []
Property Value
Remarks
tab_size
The number of spaces associated with a single tab length. Does not affect \t
in text tags, only indent tags.
var tab_size : int = 4
Property Value
Remarks
tab_stops
Aligns text to the given tab-stops.
var tab_stops : PackedFloat32Array = PackedFloat32Array()
Property Value
Remarks
- void set_tab_stops(PackedFloat32Array value)
- PackedFloat32Array get_tab_stops
text
The label's text in BBCode format. Is not representative of manual modifications to the internal tag stack. Erases changes made by other methods when edited.
Note: If bbcode_enabled is true
, it is unadvised to use the +=
operator with text (e.g. text += "some string"
) as it replaces the whole text and can cause slowdowns. It will also erase all BBCode that was added to stack using push_*
methods. Use RichTextLabel.append_text for adding text instead, unless you absolutely need to close a tag that was opened in an earlier method call.
var text : String = ""
Property Value
Remarks
text_direction
Base text writing direction.
var text_direction : int = 0
Property Value
Remarks
threaded
If true
, text processing is done in a background thread.
var threaded : bool = false
Property Value
Remarks
vertical_alignment
Controls the text's vertical alignment. Supports top, center, bottom, and fill. Set it to one of the VerticalAlignment constants.
var vertical_alignment : int = 0
Property Value
Remarks
visible_characters
The number of characters to display. If set to -1
, all characters are displayed. This can be useful when animating the text appearing in a dialog box.
Note: Setting this property updates visible_ratio accordingly.
var visible_characters : int = -1
Property Value
Remarks
visible_characters_behavior
Sets the clipping behavior when visible_characters or visible_ratio is set. See VisibleCharactersBehavior for more info.
var visible_characters_behavior : int = 0
Property Value
Remarks
visible_ratio
The fraction of characters to display, relative to the total number of characters (see get_total_character_count). If set to 1.0
, all characters are displayed. If set to 0.5
, only half of the characters will be displayed. This can be useful when animating the text appearing in a dialog box.
Note: Setting this property updates visible_characters accordingly.
var visible_ratio : float = 1.0
Property Value
Remarks
default_color
Theme Property
The default text color.
= ``Color(1, 1, 1, 1)``
Property Value
font_outline_color
Theme Property
The default tint of text outline.
= ``Color(0, 0, 0, 1)``
Property Value
font_selected_color
Theme Property
The color of selected text, used when selection_enabled is true
. If equal to Color(0, 0, 0, 0)
, it will be ignored.
= ``Color(0, 0, 0, 0)``
Property Value
font_shadow_color
Theme Property
The color of the font's shadow.
= ``Color(0, 0, 0, 0)``
Property Value
selection_color
Theme Property
The color of the selection box.
= ``Color(0.1, 0.1, 1, 0.8)``
Property Value
table_border
Theme Property
The default cell border color.
= ``Color(0, 0, 0, 0)``
Property Value
table_even_row_bg
Theme Property
The default background color for even rows.
= ``Color(0, 0, 0, 0)``
Property Value
table_odd_row_bg
Theme Property
The default background color for odd rows.
= ``Color(0, 0, 0, 0)``
Property Value
line_separation
Theme Property
Additional vertical spacing between lines (in pixels), spacing is added to line descent. This value can be negative.
= ``0``
Property Value
outline_size
Theme Property
The size of the text outline.
Note: If using a font with multichannel_signed_distance_field enabled, its msdf_pixel_range must be set to at least twice the value of outline_size for outline rendering to look correct. Otherwise, the outline may appear to be cut off earlier than intended.
= ``0``
Property Value
shadow_offset_x
Theme Property
The horizontal offset of the font's shadow.
= ``1``
Property Value
shadow_offset_y
Theme Property
The vertical offset of the font's shadow.
= ``1``
Property Value
shadow_outline_size
Theme Property
The size of the shadow outline.
= ``1``
Property Value
table_h_separation
Theme Property
The horizontal separation of elements in a table.
= ``3``
Property Value
table_v_separation
Theme Property
The vertical separation of elements in a table.
= ``3``
Property Value
text_highlight_h_padding
Theme Property
The horizontal padding around boxes drawn by the [fgcolor]
and [bgcolor]
tags. This does not affect the appearance of text selection.
= ``3``
Property Value
text_highlight_v_padding
Theme Property
The vertical padding around boxes drawn by the [fgcolor]
and [bgcolor]
tags. This does not affect the appearance of text selection.
= ``3``
Property Value
bold_font
Theme Property
The font used for bold text.
Font bold_font
Property Value
bold_italics_font
Theme Property
The font used for bold italics text.
Font bold_italics_font
Property Value
italics_font
Theme Property
The font used for italics text.
Font italics_font
Property Value
mono_font
Theme Property
The font used for monospace text.
Font mono_font
Property Value
normal_font
Theme Property
The default text font.
Font normal_font
Property Value
bold_font_size
Theme Property
The font size used for bold text.
int bold_font_size
Property Value
bold_italics_font_size
Theme Property
The font size used for bold italics text.
int bold_italics_font_size
Property Value
italics_font_size
Theme Property
The font size used for italics text.
int italics_font_size
Property Value
mono_font_size
Theme Property
The font size used for monospace text.
int mono_font_size
Property Value
normal_font_size
Theme Property
The default text font size.
int normal_font_size
Property Value
focus
Theme Property
The background used when the RichTextLabel is focused. The focus StyleBox is displayed over 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.
StyleBox focus
Property Value
normal
Theme Property
The normal background for the RichTextLabel.
StyleBox normal
Property Value
Methods
add_image(Texture2D, int, int, Color, int, Rect2, Variant, bool, String, bool)
Adds an image's opening and closing tags to the tag stack, optionally providing a width
and height
to resize the image, a color
to tint the image and a region
to only use parts of the image.
If width
or height
is set to 0, the image size will be adjusted in order to keep the original aspect ratio.
If width
and height
are not set, but region
is, the region's rect will be used.
key
is an optional identifier, that can be used to modify the image via RichTextLabel.update_image.
If pad
is set, and the image is smaller than the size specified by width
and height
, the image padding is added to match the size instead of upscaling.
If size_in_percent
is set, width
and height
values are percentages of the control width instead of pixels.
void add_image(Texture2D image, int width, int height, Color color, int inline_align, Rect2 region, Variant key, bool pad, String tooltip, bool size_in_percent)
Parameters
image
Texture2Dwidth
intheight
intcolor
Colorinline_align
intregion
Rect2key
Variantpad
booltooltip
Stringsize_in_percent
bool
add_text(String)
Adds raw non-BBCode-parsed text to the tag stack.
void add_text(String text)
Parameters
text
String
append_text(String)
Parses bbcode
and adds tags to the tag stack as needed.
Note: Using this method, you can't close a tag that was opened in a previous RichTextLabel.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 text instead of using RichTextLabel.append_text.
void append_text(String bbcode)
Parameters
bbcode
String
clear
Clears the tag stack, causing the label to display nothing.
Note: This method does not affect text, and its contents will show again if the label is redrawn. However, setting text to an empty String also clears the stack.
void clear
deselect
Clears the current selection.
void deselect
get_character_line(int)
Returns the line number of the character position provided. Line and character numbers are both zero-indexed.
Note: If threaded is enabled, this method returns a value for the loaded part of the document. Use is_finished or finished to determine whether document is fully loaded.
int get_character_line(int character)
Parameters
character
int
get_character_paragraph(int)
Returns the paragraph number of the character position provided. Paragraph and character numbers are both zero-indexed.
Note: If threaded is enabled, this method returns a value for the loaded part of the document. Use is_finished or finished to determine whether document is fully loaded.
int get_character_paragraph(int character)
Parameters
character
int
get_content_height
Qualifiers: const
Returns the height of the content.
Note: If threaded is enabled, this method returns a value for the loaded part of the document. Use is_finished or finished to determine whether document is fully loaded.
int get_content_height
get_content_width
Qualifiers: const
Returns the width of the content.
Note: If threaded is enabled, this method returns a value for the loaded part of the document. Use is_finished or finished to determine whether document is fully loaded.
int get_content_width
get_line_count
Qualifiers: const
Returns the total number of lines in the text. Wrapped text is counted as multiple lines.
Note: If visible_characters_behavior is set to TextServer.VC_CHARS_BEFORE_SHAPING only visible wrapped lines are counted.
Note: If threaded is enabled, this method returns a value for the loaded part of the document. Use is_finished or finished to determine whether document is fully loaded.
int get_line_count
get_line_offset(int)
Returns the vertical offset of the line found at the provided index.
Note: If threaded is enabled, this method returns a value for the loaded part of the document. Use is_finished or finished to determine whether document is fully loaded.
float get_line_offset(int line)
Parameters
line
int
get_line_range(int)
Returns the indexes of the first and last visible characters for the given line
, as a Vector2i.
Note: If visible_characters_behavior is set to TextServer.VC_CHARS_BEFORE_SHAPING only visible wrapped lines are counted.
Note: If threaded is enabled, this method returns a value for the loaded part of the document. Use is_finished or finished to determine whether document is fully loaded.
Vector2i get_line_range(int line)
Parameters
line
int
get_menu
Qualifiers: const
Returns the PopupMenu of this RichTextLabel. By default, this menu is displayed when right-clicking on the RichTextLabel.
You can add custom menu items or remove standard ones. Make sure your IDs don't conflict with the standard ones (see MenuItems). For example:
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())
Warning: This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their visible property.
PopupMenu get_menu
get_paragraph_count
Qualifiers: const
Returns the total number of paragraphs (newlines or p
tags in the tag stack's text tags). Considers wrapped text as one paragraph.
int get_paragraph_count
get_paragraph_offset(int)
Returns the vertical offset of the paragraph found at the provided index.
Note: If threaded is enabled, this method returns a value for the loaded part of the document. Use is_finished or finished to determine whether document is fully loaded.
float get_paragraph_offset(int paragraph)
Parameters
paragraph
int
get_parsed_text
Qualifiers: const
Returns the text without BBCode mark-up.
String get_parsed_text
get_selected_text
Qualifiers: const
Returns the current selection text. Does not include BBCodes.
String get_selected_text
get_selection_from
Qualifiers: const
Returns the current selection first character index if a selection is active, -1
otherwise. Does not include BBCodes.
int get_selection_from
get_selection_line_offset
Qualifiers: const
Returns the current selection vertical line offset if a selection is active, -1.0
otherwise.
float get_selection_line_offset
get_selection_to
Qualifiers: const
Returns the current selection last character index if a selection is active, -1
otherwise. Does not include BBCodes.
int get_selection_to
get_total_character_count
Qualifiers: const
Returns the total number of characters from text tags. Does not include BBCodes.
int get_total_character_count
get_v_scroll_bar
Returns the vertical scrollbar.
Warning: This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their visible property.
VScrollBar get_v_scroll_bar
get_visible_line_count
Qualifiers: const
Returns the number of visible lines.
Note: If threaded is enabled, this method returns a value for the loaded part of the document. Use is_finished or finished to determine whether document is fully loaded.
int get_visible_line_count
get_visible_paragraph_count
Qualifiers: const
Returns the number of visible paragraphs. A paragraph is considered visible if at least one of its lines is visible.
Note: If threaded is enabled, this method returns a value for the loaded part of the document. Use is_finished or finished to determine whether document is fully loaded.
int get_visible_paragraph_count
install_effect(Variant)
Installs a custom effect. This can also be done in the Inspector through the custom_effects property. effect
should be a valid RichTextEffect.
Example: With the following script extending from RichTextEffect:
# effect.gd
class_name MyCustomEffect
extends RichTextEffect
var bbcode = "my_custom_effect"
# ...
The above effect can be installed in RichTextLabel from a script:
# 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())
void install_effect(Variant effect)
Parameters
effect
Variant
invalidate_paragraph(int)
Invalidates paragraph
and all subsequent paragraphs cache.
bool invalidate_paragraph(int paragraph)
Parameters
paragraph
int
is_finished
Qualifiers: const
If threaded is enabled, returns true
if the background thread has finished text processing, otherwise always return true
.
bool is_finished
is_menu_visible
Qualifiers: const
Returns whether the menu is visible. Use this instead of get_menu().visible
to improve performance (so the creation of the menu is avoided).
bool is_menu_visible
is_ready
Qualifiers: const
If threaded is enabled, returns true
if the background thread has finished text processing, otherwise always return true
.
bool is_ready
menu_option(int)
Executes a given action as defined in the MenuItems enum.
void menu_option(int option)
Parameters
option
int
newline
Adds a newline tag to the tag stack.
void newline
parse_bbcode(String)
The assignment version of RichTextLabel.append_text. Clears the tag stack and inserts the new content.
void parse_bbcode(String bbcode)
Parameters
bbcode
String
parse_expressions_for_values(PackedStringArray)
Parses BBCode parameter expressions
into a dictionary.
Dictionary parse_expressions_for_values(PackedStringArray expressions)
Parameters
expressions
PackedStringArray
pop
Terminates the current tag. Use after push_*
methods to close BBCodes manually. Does not need to follow add_*
methods.
void pop
pop_all
Terminates all tags opened by push_*
methods.
void pop_all
pop_context
Terminates tags opened after the last push_context call (including context marker), or all tags if there's no context marker on the stack.
void pop_context
push_bgcolor(Color)
Adds a [bgcolor]
tag to the tag stack.
void push_bgcolor(Color bgcolor)
Parameters
bgcolor
Color
push_bold
Adds a [font]
tag with a bold font to the tag stack. This is the same as adding a [b]
tag if not currently in a [i]
tag.
void push_bold
push_bold_italics
Adds a [font]
tag with a bold italics font to the tag stack.
void push_bold_italics
push_cell
Adds a [cell]
tag to the tag stack. Must be inside a [table]
tag. See RichTextLabel.push_table for details. Use RichTextLabel.set_table_column_expand to set column expansion ratio, RichTextLabel.set_cell_border_color to set cell border, RichTextLabel.set_cell_row_background_color to set cell background, RichTextLabel.set_cell_size_override to override cell size, and RichTextLabel.set_cell_padding to set padding.
void push_cell
push_color(Color)
Adds a [color]
tag to the tag stack.
void push_color(Color color)
Parameters
color
Color
push_context
Adds a context marker to the tag stack. See pop_context.
void push_context
push_customfx(RichTextEffect, Dictionary)
Adds a custom effect tag to the tag stack. The effect does not need to be in custom_effects. The environment is directly passed to the effect.
void push_customfx(RichTextEffect effect, Dictionary env)
Parameters
effect
RichTextEffectenv
Dictionary
push_dropcap(String, Font, int, Rect2, Color, int, Color)
Adds a [dropcap]
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.
void push_dropcap(String string, Font font, int size, Rect2 dropcap_margins, Color color, int outline_size, Color outline_color)
Parameters
string
Stringfont
Fontsize
intdropcap_margins
Rect2color
Coloroutline_size
intoutline_color
Color
push_fgcolor(Color)
Adds a [fgcolor]
tag to the tag stack.
void push_fgcolor(Color fgcolor)
Parameters
fgcolor
Color
push_font(Font, int)
Adds a [font]
tag to the tag stack. Overrides default fonts for its duration.
Passing 0
to font_size
will use the existing default font size.
void push_font(Font font, int font_size)
Parameters
push_font_size(int)
Adds a [font_size]
tag to the tag stack. Overrides default font size for its duration.
void push_font_size(int font_size)
Parameters
font_size
int
push_hint(String)
Adds a [hint]
tag to the tag stack. Same as BBCode [hint=something]{text}[/hint]
.
void push_hint(String description)
Parameters
description
String
push_indent(int)
Adds an [indent]
tag to the tag stack. Multiplies level
by current tab_size to determine new margin length.
void push_indent(int level)
Parameters
level
int
push_italics
Adds a [font]
tag with an italics font to the tag stack. This is the same as adding an [i]
tag if not currently in a [b]
tag.
void push_italics
push_language(String)
Adds language code used for text shaping algorithm and Open-Type font features.
void push_language(String language)
Parameters
language
String
push_list(int, int, bool, String)
Adds [ol]
or [ul]
tag to the tag stack. Multiplies level
by current tab_size to determine new margin length.
void push_list(int level, int type, bool capitalize, String bullet)
Parameters
push_meta(Variant, int, String)
Adds a meta tag to the tag stack. Similar to the BBCode [url=something]{text}[/url]
, but supports non-String metadata types.
If meta_underlined is true
, meta tags display an underline. This behavior can be customized with underline_mode
.
Note: Meta tags do nothing by default when clicked. To assign behavior when clicked, connect RichTextLabel.meta_clicked to a function that is called when the meta tag is clicked.
void push_meta(Variant data, int underline_mode, String tooltip)
Parameters
push_mono
Adds a [font]
tag with a monospace font to the tag stack.
void push_mono
push_normal
Adds a [font]
tag with a normal font to the tag stack.
void push_normal
push_outline_color(Color)
Adds a [outline_color]
tag to the tag stack. Adds text outline for its duration.
void push_outline_color(Color color)
Parameters
color
Color
push_outline_size(int)
Adds a [outline_size]
tag to the tag stack. Overrides default text outline size for its duration.
void push_outline_size(int outline_size)
Parameters
outline_size
int
push_paragraph(int, int, String, int, int, PackedFloat32Array)
Adds a [p]
tag to the tag stack.
void push_paragraph(int alignment, int base_direction, String language, int st_parser, int justification_flags, PackedFloat32Array tab_stops)
Parameters
alignment
intbase_direction
intlanguage
Stringst_parser
intjustification_flags
inttab_stops
PackedFloat32Array
push_strikethrough
Adds a [s]
tag to the tag stack.
void push_strikethrough
push_table(int, int, int)
Adds a [table=columns,inline_align]
tag to the tag stack. Use RichTextLabel.set_table_column_expand to set column expansion ratio. Use push_cell to add cells.
void push_table(int columns, int inline_align, int align_to_row)
Parameters
push_underline
Adds a [u]
tag to the tag stack.
void push_underline
remove_paragraph(int, bool)
Removes a paragraph of content from the label. Returns true
if the paragraph exists.
The paragraph
argument is the index of the paragraph to remove, it can take values in the interval [0, get_paragraph_count() - 1]
.
If no_invalidate
is set to true
, cache for the subsequent paragraphs is not invalidated. Use it for faster updates if deleted paragraph is fully self-contained (have no unclosed tags), or this call is part of the complex edit operation and RichTextLabel.invalidate_paragraph will be called at the end of operation.
bool remove_paragraph(int paragraph, bool no_invalidate)
Parameters
scroll_to_line(int)
Scrolls the window's top line to match line
.
void scroll_to_line(int line)
Parameters
line
int
scroll_to_paragraph(int)
Scrolls the window's top line to match first line of the paragraph
.
void scroll_to_paragraph(int paragraph)
Parameters
paragraph
int
scroll_to_selection
Scrolls to the beginning of the current selection.
void scroll_to_selection
select_all
Select all the text.
If selection_enabled is false
, no selection will occur.
void select_all
set_cell_border_color(Color)
Sets color of a table cell border.
void set_cell_border_color(Color color)
Parameters
color
Color
set_cell_padding(Rect2)
Sets inner padding of a table cell.
void set_cell_padding(Rect2 padding)
Parameters
padding
Rect2
set_cell_row_background_color(Color, Color)
Sets color of a table cell. Separate colors for alternating rows can be specified.
void set_cell_row_background_color(Color odd_row_bg, Color even_row_bg)
Parameters
set_cell_size_override(Vector2, Vector2)
Sets minimum and maximum size overrides for a table cell.
void set_cell_size_override(Vector2 min_size, Vector2 max_size)
Parameters
set_table_column_expand(int, bool, int, bool)
Edits the selected column's expansion options. If expand
is true
, the column expands in proportion to its expansion ratio versus the other columns' ratios.
For example, 2 columns with ratios 3 and 4 plus 70 pixels in available width would expand 30 and 40 pixels, respectively.
If expand
is false
, the column will not contribute to the total ratio.
void set_table_column_expand(int column, bool expand, int ratio, bool shrink)
Parameters
update_image(Variant, int, Texture2D, int, int, Color, int, Rect2, bool, String, bool)
Updates the existing images with the key key
. Only properties specified by mask
bits are updated. See RichTextLabel.add_image.
void update_image(Variant key, int mask, Texture2D image, int width, int height, Color color, int inline_align, Rect2 region, bool pad, String tooltip, bool size_in_percent)
Parameters
key
Variantmask
intimage
Texture2Dwidth
intheight
intcolor
Colorinline_align
intregion
Rect2pad
booltooltip
Stringsize_in_percent
bool
Events
finished
Triggered when the document is fully loaded.
Note: This can happen before the text is processed for drawing. Scrolling values may not be valid until the document is drawn for the first time after this signal.
signal finished
meta_clicked(Variant)
Triggered when the user clicks on content between meta (URL) tags. If the meta is defined in BBCode, e.g. [url={"key": "value"}]Text[/url]
, then the parameter for this signal will always be a String type. If a particular type or an object is desired, the RichTextLabel.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 JSON.parse on it).
For example, the following method can be connected to RichTextLabel.meta_clicked to open clicked URLs using the user's default web browser:
# 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))
signal meta_clicked(Variant meta)
Parameters
meta
Variant
meta_hover_ended(Variant)
Triggers when the mouse exits a meta tag.
signal meta_hover_ended(Variant meta)
Parameters
meta
Variant
meta_hover_started(Variant)
Triggers when the mouse enters a meta tag.
signal meta_hover_started(Variant meta)
Parameters
meta
Variant