:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TextParagraph.xml. .. _class_TextParagraph: TextParagraph ============= **Inherits:** :ref:`RefCounted` **<** :ref:`Object` Holds a paragraph of text. Description ----------- Abstraction over :ref:`TextServer` for handling paragraph of text. Properties ---------- +-------------------------------------------------------------------+----------------------------------------------------------------------------------+-----------+ | :ref:`HorizontalAlignment` | :ref:`alignment` | ``0`` | +-------------------------------------------------------------------+----------------------------------------------------------------------------------+-----------+ | :ref:`LineBreakFlag` | :ref:`break_flags` | ``3`` | +-------------------------------------------------------------------+----------------------------------------------------------------------------------+-----------+ | :ref:`String` | :ref:`custom_punctuation` | ``""`` | +-------------------------------------------------------------------+----------------------------------------------------------------------------------+-----------+ | :ref:`Direction` | :ref:`direction` | ``0`` | +-------------------------------------------------------------------+----------------------------------------------------------------------------------+-----------+ | :ref:`JustificationFlag` | :ref:`justification_flags` | ``3`` | +-------------------------------------------------------------------+----------------------------------------------------------------------------------+-----------+ | :ref:`int` | :ref:`max_lines_visible` | ``-1`` | +-------------------------------------------------------------------+----------------------------------------------------------------------------------+-----------+ | :ref:`Orientation` | :ref:`orientation` | ``0`` | +-------------------------------------------------------------------+----------------------------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`preserve_control` | ``false`` | +-------------------------------------------------------------------+----------------------------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`preserve_invalid` | ``true`` | +-------------------------------------------------------------------+----------------------------------------------------------------------------------+-----------+ | :ref:`OverrunBehavior` | :ref:`text_overrun_behavior` | ``0`` | +-------------------------------------------------------------------+----------------------------------------------------------------------------------+-----------+ | :ref:`float` | :ref:`width` | ``-1.0`` | +-------------------------------------------------------------------+----------------------------------------------------------------------------------+-----------+ Methods ------- +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`add_object` **(** :ref:`Variant` key, :ref:`Vector2` size, :ref:`InlineAlignment` inline_align=5, :ref:`int` length=1 **)** | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`add_string` **(** :ref:`String` text, :ref:`Font` font, :ref:`int` font_size, :ref:`String` language="", :ref:`Variant` meta=null **)** | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear` **(** **)** | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear_dropcap` **(** **)** | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw` **(** :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`Color` color=Color(1, 1, 1, 1), :ref:`Color` dc_color=Color(1, 1, 1, 1) **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw_dropcap` **(** :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`Color` color=Color(1, 1, 1, 1) **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw_dropcap_outline` **(** :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`int` outline_size=1, :ref:`Color` color=Color(1, 1, 1, 1) **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw_line` **(** :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`int` line, :ref:`Color` color=Color(1, 1, 1, 1) **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw_line_outline` **(** :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`int` line, :ref:`int` outline_size=1, :ref:`Color` color=Color(1, 1, 1, 1) **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw_outline` **(** :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`int` outline_size=1, :ref:`Color` color=Color(1, 1, 1, 1), :ref:`Color` dc_color=Color(1, 1, 1, 1) **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_dropcap_lines` **(** **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`get_dropcap_rid` **(** **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_dropcap_size` **(** **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_line_ascent` **(** :ref:`int` line **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_line_count` **(** **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_line_descent` **(** :ref:`int` line **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Rect2` | :ref:`get_line_object_rect` **(** :ref:`int` line, :ref:`Variant` key **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`get_line_objects` **(** :ref:`int` line **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2i` | :ref:`get_line_range` **(** :ref:`int` line **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`get_line_rid` **(** :ref:`int` line **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_line_size` **(** :ref:`int` line **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_line_underline_position` **(** :ref:`int` line **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_line_underline_thickness` **(** :ref:`int` line **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_line_width` **(** :ref:`int` line **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_non_wrapped_size` **(** **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`get_rid` **(** **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_size` **(** **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`hit_test` **(** :ref:`Vector2` coords **)** |const| | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`resize_object` **(** :ref:`Variant` key, :ref:`Vector2` size, :ref:`InlineAlignment` inline_align=5 **)** | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_bidi_override` **(** :ref:`Array` override **)** | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`set_dropcap` **(** :ref:`String` text, :ref:`Font` font, :ref:`int` font_size, :ref:`Rect2` dropcap_margins=Rect2(0, 0, 0, 0), :ref:`String` language="" **)** | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`tab_align` **(** :ref:`PackedFloat32Array` tab_stops **)** | +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Property Descriptions --------------------- .. _class_TextParagraph_property_alignment: - :ref:`HorizontalAlignment` **alignment** +-----------+----------------------+ | *Default* | ``0`` | +-----------+----------------------+ | *Setter* | set_alignment(value) | +-----------+----------------------+ | *Getter* | get_alignment() | +-----------+----------------------+ Paragraph horizontal alignment. ---- .. _class_TextParagraph_property_break_flags: - :ref:`LineBreakFlag` **break_flags** +-----------+------------------------+ | *Default* | ``3`` | +-----------+------------------------+ | *Setter* | set_break_flags(value) | +-----------+------------------------+ | *Getter* | get_break_flags() | +-----------+------------------------+ Line breaking rules. For more info see :ref:`TextServer`. ---- .. _class_TextParagraph_property_custom_punctuation: - :ref:`String` **custom_punctuation** +-----------+-------------------------------+ | *Default* | ``""`` | +-----------+-------------------------------+ | *Setter* | set_custom_punctuation(value) | +-----------+-------------------------------+ | *Getter* | get_custom_punctuation() | +-----------+-------------------------------+ Custom punctuation character list, used for word breaking. If set to empty string, server defaults are used. ---- .. _class_TextParagraph_property_direction: - :ref:`Direction` **direction** +-----------+----------------------+ | *Default* | ``0`` | +-----------+----------------------+ | *Setter* | set_direction(value) | +-----------+----------------------+ | *Getter* | get_direction() | +-----------+----------------------+ Text writing direction. ---- .. _class_TextParagraph_property_justification_flags: - :ref:`JustificationFlag` **justification_flags** +-----------+--------------------------------+ | *Default* | ``3`` | +-----------+--------------------------------+ | *Setter* | set_justification_flags(value) | +-----------+--------------------------------+ | *Getter* | get_justification_flags() | +-----------+--------------------------------+ Line alignment rules. For more info see :ref:`TextServer`. ---- .. _class_TextParagraph_property_max_lines_visible: - :ref:`int` **max_lines_visible** +-----------+------------------------------+ | *Default* | ``-1`` | +-----------+------------------------------+ | *Setter* | set_max_lines_visible(value) | +-----------+------------------------------+ | *Getter* | get_max_lines_visible() | +-----------+------------------------------+ Limits the lines of text shown. ---- .. _class_TextParagraph_property_orientation: - :ref:`Orientation` **orientation** +-----------+------------------------+ | *Default* | ``0`` | +-----------+------------------------+ | *Setter* | set_orientation(value) | +-----------+------------------------+ | *Getter* | get_orientation() | +-----------+------------------------+ Text orientation. ---- .. _class_TextParagraph_property_preserve_control: - :ref:`bool` **preserve_control** +-----------+-----------------------------+ | *Default* | ``false`` | +-----------+-----------------------------+ | *Setter* | set_preserve_control(value) | +-----------+-----------------------------+ | *Getter* | get_preserve_control() | +-----------+-----------------------------+ If set to ``true`` text will display control characters. ---- .. _class_TextParagraph_property_preserve_invalid: - :ref:`bool` **preserve_invalid** +-----------+-----------------------------+ | *Default* | ``true`` | +-----------+-----------------------------+ | *Setter* | set_preserve_invalid(value) | +-----------+-----------------------------+ | *Getter* | get_preserve_invalid() | +-----------+-----------------------------+ If set to ``true`` text will display invalid characters. ---- .. _class_TextParagraph_property_text_overrun_behavior: - :ref:`OverrunBehavior` **text_overrun_behavior** +-----------+----------------------------------+ | *Default* | ``0`` | +-----------+----------------------------------+ | *Setter* | set_text_overrun_behavior(value) | +-----------+----------------------------------+ | *Getter* | get_text_overrun_behavior() | +-----------+----------------------------------+ Sets the clipping behavior when the text exceeds the paragraph's set width. See :ref:`OverrunBehavior` for a description of all modes. ---- .. _class_TextParagraph_property_width: - :ref:`float` **width** +-----------+------------------+ | *Default* | ``-1.0`` | +-----------+------------------+ | *Setter* | set_width(value) | +-----------+------------------+ | *Getter* | get_width() | +-----------+------------------+ Paragraph width. Method Descriptions ------------------- .. _class_TextParagraph_method_add_object: - :ref:`bool` **add_object** **(** :ref:`Variant` key, :ref:`Vector2` size, :ref:`InlineAlignment` inline_align=5, :ref:`int` length=1 **)** Adds inline object to the text buffer, ``key`` must be unique. In the text, object is represented as ``length`` object replacement characters. ---- .. _class_TextParagraph_method_add_string: - :ref:`bool` **add_string** **(** :ref:`String` text, :ref:`Font` font, :ref:`int` font_size, :ref:`String` language="", :ref:`Variant` meta=null **)** Adds text span and font to draw it. ---- .. _class_TextParagraph_method_clear: - void **clear** **(** **)** Clears text paragraph (removes text and inline objects). ---- .. _class_TextParagraph_method_clear_dropcap: - void **clear_dropcap** **(** **)** Removes dropcap. ---- .. _class_TextParagraph_method_draw: - void **draw** **(** :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`Color` color=Color(1, 1, 1, 1), :ref:`Color` dc_color=Color(1, 1, 1, 1) **)** |const| Draw all lines of the text and drop cap into a canvas item at a given position, with ``color``. ``pos`` specifies the top left corner of the bounding box. ---- .. _class_TextParagraph_method_draw_dropcap: - void **draw_dropcap** **(** :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`Color` color=Color(1, 1, 1, 1) **)** |const| Draw drop cap into a canvas item at a given position, with ``color``. ``pos`` specifies the top left corner of the bounding box. ---- .. _class_TextParagraph_method_draw_dropcap_outline: - void **draw_dropcap_outline** **(** :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`int` outline_size=1, :ref:`Color` color=Color(1, 1, 1, 1) **)** |const| Draw drop cap outline into a canvas item at a given position, with ``color``. ``pos`` specifies the top left corner of the bounding box. ---- .. _class_TextParagraph_method_draw_line: - void **draw_line** **(** :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`int` line, :ref:`Color` color=Color(1, 1, 1, 1) **)** |const| Draw single line of text into a canvas item at a given position, with ``color``. ``pos`` specifies the top left corner of the bounding box. ---- .. _class_TextParagraph_method_draw_line_outline: - void **draw_line_outline** **(** :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`int` line, :ref:`int` outline_size=1, :ref:`Color` color=Color(1, 1, 1, 1) **)** |const| Draw outline of the single line of text into a canvas item at a given position, with ``color``. ``pos`` specifies the top left corner of the bounding box. ---- .. _class_TextParagraph_method_draw_outline: - void **draw_outline** **(** :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`int` outline_size=1, :ref:`Color` color=Color(1, 1, 1, 1), :ref:`Color` dc_color=Color(1, 1, 1, 1) **)** |const| Draw outlines of all lines of the text and drop cap into a canvas item at a given position, with ``color``. ``pos`` specifies the top left corner of the bounding box. ---- .. _class_TextParagraph_method_get_dropcap_lines: - :ref:`int` **get_dropcap_lines** **(** **)** |const| Returns number of lines used by dropcap. ---- .. _class_TextParagraph_method_get_dropcap_rid: - :ref:`RID` **get_dropcap_rid** **(** **)** |const| Returns drop cap text buffer RID. ---- .. _class_TextParagraph_method_get_dropcap_size: - :ref:`Vector2` **get_dropcap_size** **(** **)** |const| Returns drop cap bounding box size. ---- .. _class_TextParagraph_method_get_line_ascent: - :ref:`float` **get_line_ascent** **(** :ref:`int` line **)** |const| Returns the text line ascent (number of pixels above the baseline for horizontal layout or to the left of baseline for vertical). ---- .. _class_TextParagraph_method_get_line_count: - :ref:`int` **get_line_count** **(** **)** |const| Returns number of lines in the paragraph. ---- .. _class_TextParagraph_method_get_line_descent: - :ref:`float` **get_line_descent** **(** :ref:`int` line **)** |const| Returns the text line descent (number of pixels below the baseline for horizontal layout or to the right of baseline for vertical). ---- .. _class_TextParagraph_method_get_line_object_rect: - :ref:`Rect2` **get_line_object_rect** **(** :ref:`int` line, :ref:`Variant` key **)** |const| Returns bounding rectangle of the inline object. ---- .. _class_TextParagraph_method_get_line_objects: - :ref:`Array` **get_line_objects** **(** :ref:`int` line **)** |const| Returns array of inline objects in the line. ---- .. _class_TextParagraph_method_get_line_range: - :ref:`Vector2i` **get_line_range** **(** :ref:`int` line **)** |const| Returns character range of the line. ---- .. _class_TextParagraph_method_get_line_rid: - :ref:`RID` **get_line_rid** **(** :ref:`int` line **)** |const| Returns TextServer line buffer RID. ---- .. _class_TextParagraph_method_get_line_size: - :ref:`Vector2` **get_line_size** **(** :ref:`int` line **)** |const| Returns size of the bounding box of the line of text. ---- .. _class_TextParagraph_method_get_line_underline_position: - :ref:`float` **get_line_underline_position** **(** :ref:`int` line **)** |const| Returns pixel offset of the underline below the baseline. ---- .. _class_TextParagraph_method_get_line_underline_thickness: - :ref:`float` **get_line_underline_thickness** **(** :ref:`int` line **)** |const| Returns thickness of the underline. ---- .. _class_TextParagraph_method_get_line_width: - :ref:`float` **get_line_width** **(** :ref:`int` line **)** |const| Returns width (for horizontal layout) or height (for vertical) of the line of text. ---- .. _class_TextParagraph_method_get_non_wrapped_size: - :ref:`Vector2` **get_non_wrapped_size** **(** **)** |const| Returns the size of the bounding box of the paragraph, without line breaks. ---- .. _class_TextParagraph_method_get_rid: - :ref:`RID` **get_rid** **(** **)** |const| Returns TextServer full string buffer RID. ---- .. _class_TextParagraph_method_get_size: - :ref:`Vector2` **get_size** **(** **)** |const| Returns the size of the bounding box of the paragraph. ---- .. _class_TextParagraph_method_hit_test: - :ref:`int` **hit_test** **(** :ref:`Vector2` coords **)** |const| Returns caret character offset at the specified coordinates. This function always returns a valid position. ---- .. _class_TextParagraph_method_resize_object: - :ref:`bool` **resize_object** **(** :ref:`Variant` key, :ref:`Vector2` size, :ref:`InlineAlignment` inline_align=5 **)** Sets new size and alignment of embedded object. ---- .. _class_TextParagraph_method_set_bidi_override: - void **set_bidi_override** **(** :ref:`Array` override **)** Overrides BiDi for the structured text. Override ranges should cover full source text without overlaps. BiDi algorithm will be used on each range separately. ---- .. _class_TextParagraph_method_set_dropcap: - :ref:`bool` **set_dropcap** **(** :ref:`String` text, :ref:`Font` font, :ref:`int` font_size, :ref:`Rect2` dropcap_margins=Rect2(0, 0, 0, 0), :ref:`String` language="" **)** Sets drop cap, overrides previously set drop cap. Drop cap (dropped capital) is a decorative element at the beginning of a paragraph that is larger than the rest of the text. ---- .. _class_TextParagraph_method_tab_align: - void **tab_align** **(** :ref:`PackedFloat32Array` tab_stops **)** Aligns paragraph to the given tab-stops. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`