: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/TextLine.xml. .. _class_TextLine: TextLine ======== **Inherits:** :ref:`RefCounted` **<** :ref:`Object` Holds a line of text. .. rst-class:: classref-introduction-group Description ----------- Abstraction over :ref:`TextServer` for handling a single line of text. .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +---------------------------------------------------------------------------+-----------------------------------------------------------------------------+-----------+ | :ref:`HorizontalAlignment` | :ref:`alignment` | ``0`` | +---------------------------------------------------------------------------+-----------------------------------------------------------------------------+-----------+ | :ref:`Direction` | :ref:`direction` | ``0`` | +---------------------------------------------------------------------------+-----------------------------------------------------------------------------+-----------+ | :ref:`String` | :ref:`ellipsis_char` | ``"…"`` | +---------------------------------------------------------------------------+-----------------------------------------------------------------------------+-----------+ | |bitfield|\[:ref:`JustificationFlag`\] | :ref:`flags` | ``3`` | +---------------------------------------------------------------------------+-----------------------------------------------------------------------------+-----------+ | :ref:`Orientation` | :ref:`orientation` | ``0`` | +---------------------------------------------------------------------------+-----------------------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`preserve_control` | ``false`` | +---------------------------------------------------------------------------+-----------------------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`preserve_invalid` | ``true`` | +---------------------------------------------------------------------------+-----------------------------------------------------------------------------+-----------+ | :ref:`OverrunBehavior` | :ref:`text_overrun_behavior` | ``3`` | +---------------------------------------------------------------------------+-----------------------------------------------------------------------------+-----------+ | :ref:`float` | :ref:`width` | ``-1.0`` | +---------------------------------------------------------------------------+-----------------------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`add_object`\ (\ key\: :ref:`Variant`, size\: :ref:`Vector2`, inline_align\: :ref:`InlineAlignment` = 5, length\: :ref:`int` = 1, baseline\: :ref:`float` = 0.0\ ) | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`add_string`\ (\ text\: :ref:`String`, font\: :ref:`Font`, font_size\: :ref:`int`, language\: :ref:`String` = "", meta\: :ref:`Variant` = null\ ) | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`clear`\ (\ ) | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`draw`\ (\ canvas\: :ref:`RID`, pos\: :ref:`Vector2`, color\: :ref:`Color` = Color(1, 1, 1, 1), oversampling\: :ref:`float` = 0.0\ ) |const| | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`draw_outline`\ (\ canvas\: :ref:`RID`, pos\: :ref:`Vector2`, outline_size\: :ref:`int` = 1, color\: :ref:`Color` = Color(1, 1, 1, 1), oversampling\: :ref:`float` = 0.0\ ) |const| | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Direction` | :ref:`get_inferred_direction`\ (\ ) |const| | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_line_ascent`\ (\ ) |const| | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_line_descent`\ (\ ) |const| | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_line_underline_position`\ (\ ) |const| | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_line_underline_thickness`\ (\ ) |const| | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_line_width`\ (\ ) |const| | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Rect2` | :ref:`get_object_rect`\ (\ key\: :ref:`Variant`\ ) |const| | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`get_objects`\ (\ ) |const| | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`get_rid`\ (\ ) |const| | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_size`\ (\ ) |const| | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`hit_test`\ (\ coords\: :ref:`float`\ ) |const| | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`resize_object`\ (\ key\: :ref:`Variant`, size\: :ref:`Vector2`, inline_align\: :ref:`InlineAlignment` = 5, baseline\: :ref:`float` = 0.0\ ) | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bidi_override`\ (\ override\: :ref:`Array`\ ) | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`tab_align`\ (\ tab_stops\: :ref:`PackedFloat32Array`\ ) | +---------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_TextLine_property_alignment: .. rst-class:: classref-property :ref:`HorizontalAlignment` **alignment** = ``0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_horizontal_alignment**\ (\ value\: :ref:`HorizontalAlignment`\ ) - :ref:`HorizontalAlignment` **get_horizontal_alignment**\ (\ ) Sets text alignment within the line as if the line was horizontal. .. rst-class:: classref-item-separator ---- .. _class_TextLine_property_direction: .. rst-class:: classref-property :ref:`Direction` **direction** = ``0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_direction**\ (\ value\: :ref:`Direction`\ ) - :ref:`Direction` **get_direction**\ (\ ) Text writing direction. .. rst-class:: classref-item-separator ---- .. _class_TextLine_property_ellipsis_char: .. rst-class:: classref-property :ref:`String` **ellipsis_char** = ``"…"`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_ellipsis_char**\ (\ value\: :ref:`String`\ ) - :ref:`String` **get_ellipsis_char**\ (\ ) Ellipsis character used for text clipping. .. rst-class:: classref-item-separator ---- .. _class_TextLine_property_flags: .. rst-class:: classref-property |bitfield|\[:ref:`JustificationFlag`\] **flags** = ``3`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_flags**\ (\ value\: |bitfield|\[:ref:`JustificationFlag`\]\ ) - |bitfield|\[:ref:`JustificationFlag`\] **get_flags**\ (\ ) Line alignment rules. For more info see :ref:`TextServer`. .. rst-class:: classref-item-separator ---- .. _class_TextLine_property_orientation: .. rst-class:: classref-property :ref:`Orientation` **orientation** = ``0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_orientation**\ (\ value\: :ref:`Orientation`\ ) - :ref:`Orientation` **get_orientation**\ (\ ) Text orientation. .. rst-class:: classref-item-separator ---- .. _class_TextLine_property_preserve_control: .. rst-class:: classref-property :ref:`bool` **preserve_control** = ``false`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_preserve_control**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **get_preserve_control**\ (\ ) If set to ``true`` text will display control characters. .. rst-class:: classref-item-separator ---- .. _class_TextLine_property_preserve_invalid: .. rst-class:: classref-property :ref:`bool` **preserve_invalid** = ``true`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_preserve_invalid**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **get_preserve_invalid**\ (\ ) If set to ``true`` text will display invalid characters. .. rst-class:: classref-item-separator ---- .. _class_TextLine_property_text_overrun_behavior: .. rst-class:: classref-property :ref:`OverrunBehavior` **text_overrun_behavior** = ``3`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_text_overrun_behavior**\ (\ value\: :ref:`OverrunBehavior`\ ) - :ref:`OverrunBehavior` **get_text_overrun_behavior**\ (\ ) The clipping behavior when the text exceeds the text line's set width. .. rst-class:: classref-item-separator ---- .. _class_TextLine_property_width: .. rst-class:: classref-property :ref:`float` **width** = ``-1.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_width**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_width**\ (\ ) Text line width. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_TextLine_method_add_object: .. rst-class:: classref-method :ref:`bool` **add_object**\ (\ key\: :ref:`Variant`, size\: :ref:`Vector2`, inline_align\: :ref:`InlineAlignment` = 5, length\: :ref:`int` = 1, baseline\: :ref:`float` = 0.0\ ) :ref:`🔗` Adds inline object to the text buffer, ``key`` must be unique. In the text, object is represented as ``length`` object replacement characters. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_add_string: .. rst-class:: classref-method :ref:`bool` **add_string**\ (\ text\: :ref:`String`, font\: :ref:`Font`, font_size\: :ref:`int`, language\: :ref:`String` = "", meta\: :ref:`Variant` = null\ ) :ref:`🔗` Adds text span and font to draw it. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_clear: .. rst-class:: classref-method |void| **clear**\ (\ ) :ref:`🔗` Clears text line (removes text and inline objects). .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_draw: .. rst-class:: classref-method |void| **draw**\ (\ canvas\: :ref:`RID`, pos\: :ref:`Vector2`, color\: :ref:`Color` = Color(1, 1, 1, 1), oversampling\: :ref:`float` = 0.0\ ) |const| :ref:`🔗` Draw text into a canvas item at a given position, with ``color``. ``pos`` specifies the top left corner of the bounding box. If ``oversampling`` is greater than zero, it is used as font oversampling factor, otherwise viewport oversampling settings are used. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_draw_outline: .. rst-class:: classref-method |void| **draw_outline**\ (\ canvas\: :ref:`RID`, pos\: :ref:`Vector2`, outline_size\: :ref:`int` = 1, color\: :ref:`Color` = Color(1, 1, 1, 1), oversampling\: :ref:`float` = 0.0\ ) |const| :ref:`🔗` Draw text into a canvas item at a given position, with ``color``. ``pos`` specifies the top left corner of the bounding box. If ``oversampling`` is greater than zero, it is used as font oversampling factor, otherwise viewport oversampling settings are used. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_get_inferred_direction: .. rst-class:: classref-method :ref:`Direction` **get_inferred_direction**\ (\ ) |const| :ref:`🔗` Returns the text writing direction inferred by the BiDi algorithm. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_get_line_ascent: .. rst-class:: classref-method :ref:`float` **get_line_ascent**\ (\ ) |const| :ref:`🔗` Returns the text ascent (number of pixels above the baseline for horizontal layout or to the left of baseline for vertical). .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_get_line_descent: .. rst-class:: classref-method :ref:`float` **get_line_descent**\ (\ ) |const| :ref:`🔗` Returns the text descent (number of pixels below the baseline for horizontal layout or to the right of baseline for vertical). .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_get_line_underline_position: .. rst-class:: classref-method :ref:`float` **get_line_underline_position**\ (\ ) |const| :ref:`🔗` Returns pixel offset of the underline below the baseline. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_get_line_underline_thickness: .. rst-class:: classref-method :ref:`float` **get_line_underline_thickness**\ (\ ) |const| :ref:`🔗` Returns thickness of the underline. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_get_line_width: .. rst-class:: classref-method :ref:`float` **get_line_width**\ (\ ) |const| :ref:`🔗` Returns width (for horizontal layout) or height (for vertical) of the text. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_get_object_rect: .. rst-class:: classref-method :ref:`Rect2` **get_object_rect**\ (\ key\: :ref:`Variant`\ ) |const| :ref:`🔗` Returns bounding rectangle of the inline object. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_get_objects: .. rst-class:: classref-method :ref:`Array` **get_objects**\ (\ ) |const| :ref:`🔗` Returns array of inline objects. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_get_rid: .. rst-class:: classref-method :ref:`RID` **get_rid**\ (\ ) |const| :ref:`🔗` Returns TextServer buffer RID. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_get_size: .. rst-class:: classref-method :ref:`Vector2` **get_size**\ (\ ) |const| :ref:`🔗` Returns size of the bounding box of the text. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_hit_test: .. rst-class:: classref-method :ref:`int` **hit_test**\ (\ coords\: :ref:`float`\ ) |const| :ref:`🔗` Returns caret character offset at the specified pixel offset at the baseline. This function always returns a valid position. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_resize_object: .. rst-class:: classref-method :ref:`bool` **resize_object**\ (\ key\: :ref:`Variant`, size\: :ref:`Vector2`, inline_align\: :ref:`InlineAlignment` = 5, baseline\: :ref:`float` = 0.0\ ) :ref:`🔗` Sets new size and alignment of embedded object. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_set_bidi_override: .. rst-class:: classref-method |void| **set_bidi_override**\ (\ override\: :ref:`Array`\ ) :ref:`🔗` Overrides BiDi for the structured text. Override ranges should cover full source text without overlaps. BiDi algorithm will be used on each range separately. .. rst-class:: classref-item-separator ---- .. _class_TextLine_method_tab_align: .. rst-class:: classref-method |void| **tab_align**\ (\ tab_stops\: :ref:`PackedFloat32Array`\ ) :ref:`🔗` Aligns text to the given tab-stops. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |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.)` .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` .. |void| replace:: :abbr:`void (No return value.)`