TextParagraph

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

Содержит абзац текста.

Описание

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

Свойства

HorizontalAlignment

alignment

0

BitField[LineBreakFlag]

break_flags

3

String

custom_punctuation

""

Direction

direction

0

String

ellipsis_char

"…"

BitField[JustificationFlag]

justification_flags

163

float

line_spacing

0.0

int

max_lines_visible

-1

Orientation

orientation

0

bool

preserve_control

false

bool

preserve_invalid

true

OverrunBehavior

text_overrun_behavior

0

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

clear_dropcap()

void

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

void

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

void

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

void

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

void

draw_line_outline(canvas: RID, pos: Vector2, line: int, outline_size: int = 1, 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), dc_color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const

TextParagraph

duplicate() const

int

get_dropcap_lines() const

RID

get_dropcap_rid() const

Vector2

get_dropcap_size() const

Direction

get_inferred_direction() const

float

get_line_ascent(line: int) const

int

get_line_count() const

float

get_line_descent(line: int) const

Rect2

get_line_object_rect(line: int, key: Variant) const

Array

get_line_objects(line: int) const

Vector2i

get_line_range(line: int) const

RID

get_line_rid(line: int) const

Vector2

get_line_size(line: int) const

float

get_line_underline_position(line: int) const

float

get_line_underline_thickness(line: int) const

float

get_line_width(line: int) const

Vector2

get_non_wrapped_size() const

Vector2i

get_range() const

RID

get_rid() const

Vector2

get_size() const

bool

has_object(key: Variant) const

int

hit_test(coords: Vector2) const

bool

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

void

set_bidi_override(override: Array)

bool

set_dropcap(text: String, font: Font, font_size: int, dropcap_margins: Rect2 = Rect2(0, 0, 0, 0), language: String = "")

void

tab_align(tab_stops: PackedFloat32Array)


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

HorizontalAlignment alignment = 0 🔗

Горизонтальное выравнивание абзаца.


BitField[LineBreakFlag] break_flags = 3 🔗

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


String custom_punctuation = "" 🔗

  • void set_custom_punctuation(value: String)

  • String get_custom_punctuation()

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


Direction direction = 0 🔗

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


String ellipsis_char = "…" 🔗

  • void set_ellipsis_char(value: String)

  • String get_ellipsis_char()

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


BitField[JustificationFlag] justification_flags = 163 🔗

Правила выравнивания заливки линий.


float line_spacing = 0.0 🔗

  • void set_line_spacing(value: float)

  • float get_line_spacing()

Дополнительный вертикальный интервал между строками (в пикселях), интервал добавляется к спуску строки. Это значение может быть отрицательным.


int max_lines_visible = -1 🔗

  • void set_max_lines_visible(value: int)

  • int get_max_lines_visible()

Ограничивает количество отображаемых строк текста.


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 = 0 🔗

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


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 clear_dropcap() 🔗

Удаляет начальную букву капитель (dropcap).


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

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


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

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


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

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


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

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


void draw_line_outline(canvas: RID, pos: Vector2, line: int, outline_size: int = 1, 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), dc_color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const 🔗

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


TextParagraph duplicate() const 🔗

Duplicates this TextParagraph.


int get_dropcap_lines() const 🔗

Возвращает количество строк, используемых в dropcap (буквицей).


RID get_dropcap_rid() const 🔗

Возвращает RID текстового буфера буквицы.


Vector2 get_dropcap_size() const 🔗

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


Direction get_inferred_direction() const 🔗

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


float get_line_ascent(line: int) const 🔗

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


int get_line_count() const 🔗

Возвращает количество строк в абзаце.


float get_line_descent(line: int) const 🔗

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


Rect2 get_line_object_rect(line: int, key: Variant) const 🔗

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


Array get_line_objects(line: int) const 🔗

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


Vector2i get_line_range(line: int) const 🔗

Возвращает диапазон символов строки.


RID get_line_rid(line: int) const 🔗

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


Vector2 get_line_size(line: int) const 🔗

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


float get_line_underline_position(line: int) const 🔗

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


float get_line_underline_thickness(line: int) const 🔗

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


float get_line_width(line: int) const 🔗

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


Vector2 get_non_wrapped_size() const 🔗

Возвращает размер ограничивающей рамки абзаца без переносов строк.


Vector2i get_range() 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 shaped text buffer.


int hit_test(coords: Vector2) const 🔗

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


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

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


void set_bidi_override(override: Array) 🔗

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

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


bool set_dropcap(text: String, font: Font, font_size: int, dropcap_margins: Rect2 = Rect2(0, 0, 0, 0), language: String = "") 🔗

Устанавливает буквицу, переопределяет ранее установленную буквицу. Буквица — декоративный элемент в начале абзаца, который больше остального текста.


void tab_align(tab_stops: PackedFloat32Array) 🔗

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