TextLine

Наследует: RefCounted < Object

Содержит строку текста.

Описание

Абстракция над TextServer для обработки одной строки текста.

Свойства

HorizontalAlignment

alignment

0

Direction

direction

0

String

ellipsis_char

"…"

BitField[JustificationFlag]

flags

3

Orientation

orientation

0

bool

preserve_control

false

bool

preserve_invalid

true

OverrunBehavior

text_overrun_behavior

3

float

width

-1.0

Методы

bool

add_object(key: Variant, size: Vector2, inline_align: InlineAlignment = 5, length: int = 1, baseline: float = 0.0)

bool

add_string(text: String, font: Font, font_size: int, language: String = "", meta: Variant = null)

void

clear()

void

draw(canvas: RID, pos: Vector2, color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const

void

draw_outline(canvas: RID, pos: Vector2, outline_size: int = 1, color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const

TextLine

duplicate() const

Direction

get_inferred_direction() const

float

get_line_ascent() const

float

get_line_descent() const

float

get_line_underline_position() const

float

get_line_underline_thickness() const

float

get_line_width() const

Rect2

get_object_rect(key: Variant) const

Array

get_objects() const

RID

get_rid() const

Vector2

get_size() const

bool

has_object(key: Variant) const

int

hit_test(coords: float) const

bool

resize_object(key: Variant, size: Vector2, inline_align: InlineAlignment = 5, baseline: float = 0.0)

void

set_bidi_override(override: Array)

void

tab_align(tab_stops: PackedFloat32Array)


Описания свойств

HorizontalAlignment alignment = 0 🔗

Устанавливает выравнивание текста внутри строки так, как если бы строка была горизонтальной.


Direction direction = 0 🔗

Направление написания текста.


String ellipsis_char = "…" 🔗

  • void set_ellipsis_char(value: String)

  • String get_ellipsis_char()

Символ многоточия, используемый для обрезки текста.


BitField[JustificationFlag] flags = 3 🔗

Правила выравнивания строк. Для получения дополнительной информации см. TextServer.


Orientation orientation = 0 🔗

Ориентация текста.


bool preserve_control = false 🔗

  • void set_preserve_control(value: bool)

  • bool get_preserve_control()

Если установлено значение true, текст будет отображать управляющие символы.


bool preserve_invalid = true 🔗

  • void set_preserve_invalid(value: bool)

  • bool get_preserve_invalid()

Если установлено значение true, в тексте будут отображаться недопустимые символы.


OverrunBehavior text_overrun_behavior = 3 🔗

Поведение обрезки, когда текст превышает установленную ширину текстовой строки.


float width = -1.0 🔗

Ширина текстовой строки.


Описания метода

bool add_object(key: Variant, size: Vector2, inline_align: InlineAlignment = 5, length: int = 1, baseline: float = 0.0) 🔗

Добавляет встроенный объект в текстовый буфер, key должен быть уникальным. В тексте объект представлен как length символов замены объекта.


bool add_string(text: String, font: Font, font_size: int, language: String = "", meta: Variant = null) 🔗

Добавляет текстовый диапазон и шрифт для его отрисовки.


void clear() 🔗

Очищает текстовую строку (удаляет текст и встроенные объекты).


void draw(canvas: RID, pos: Vector2, color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const 🔗

Нарисовать текст на холсте в заданной позиции с color. pos указывает верхний левый угол ограничивающего прямоугольника. Если oversampling больше нуля, он используется как фактор передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.


void draw_outline(canvas: RID, pos: Vector2, outline_size: int = 1, color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const 🔗

Нарисовать текст на холсте в заданной позиции с color. pos указывает верхний левый угол ограничивающего прямоугольника. Если oversampling больше нуля, он используется как фактор передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.


TextLine duplicate() const 🔗

Duplicates this TextLine.


Direction get_inferred_direction() const 🔗

Возвращает направление написания текста, выведенное алгоритмом BiDi.


float get_line_ascent() const 🔗

Возвращает высоту текста (количество пикселей над базовой линией для горизонтального расположения или слева от базовой линии для вертикального расположения).


float get_line_descent() const 🔗

Возвращает смещение текста (количество пикселей ниже базовой линии для горизонтальной компоновки или справа от базовой линии для вертикальной).


float get_line_underline_position() const 🔗

Возвращает смещение подчеркивания в пикселях относительно базовой линии.


float get_line_underline_thickness() const 🔗

Возвращает толщину подчеркивания.


float get_line_width() const 🔗

Возвращает ширину (для горизонтального расположения) или высоту (для вертикального расположения) текста.


Rect2 get_object_rect(key: Variant) const 🔗

Возвращает ограничивающий прямоугольник встроенного объекта.


Array get_objects() const 🔗

Возвращает массив встроенных объектов.


RID get_rid() const 🔗

Возвращает RID буфера TextServer.


Vector2 get_size() const 🔗

Возвращает размер ограничивающего прямоугольника текста.


bool has_object(key: Variant) const 🔗

Returns true if an object with key is embedded in this line.


int hit_test(coords: float) const 🔗

Возвращает смещение символа каретки на указанное смещение пикселей на базовой линии. Эта функция всегда возвращает допустимую позицию.


bool resize_object(key: Variant, size: Vector2, inline_align: InlineAlignment = 5, baseline: float = 0.0) 🔗

Устанавливает новый размер и выравнивание внедренного объекта.


void set_bidi_override(override: Array) 🔗

Переопределяет BiDi для структурированного текста.

Диапазоны переопределения должны охватывать весь исходный текст без перекрытий. Алгоритм BiDi будет использоваться для каждого диапазона отдельно.


void tab_align(tab_stops: PackedFloat32Array) 🔗

Выравнивает текст по указанным позициям табуляции.