TextParagraph
Наследует: RefCounted < Object
Содержит абзац текста.
Описание
Абстракция над TextServer для обработки одного абзаца текста.
Свойства
|
||
BitField[LineBreakFlag] |
|
|
|
||
|
||
|
||
BitField[JustificationFlag] |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
add_object(key: Variant, size: Vector2, inline_align: InlineAlignment = 5, length: int = 1, baseline: float = 0.0) |
|
add_string(text: String, font: Font, font_size: int, language: String = "", meta: Variant = null) |
|
void |
clear() |
void |
|
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 |
duplicate() const |
|
get_dropcap_lines() const |
|
get_dropcap_rid() const |
|
get_dropcap_size() const |
|
get_inferred_direction() const |
|
get_line_ascent(line: int) const |
|
get_line_count() const |
|
get_line_descent(line: int) const |
|
get_line_object_rect(line: int, key: Variant) const |
|
get_line_objects(line: int) const |
|
get_line_range(line: int) const |
|
get_line_rid(line: int) const |
|
get_line_size(line: int) const |
|
get_line_underline_position(line: int) const |
|
get_line_underline_thickness(line: int) const |
|
get_line_width(line: int) const |
|
get_non_wrapped_size() const |
|
get_range() const |
|
get_rid() const |
|
get_size() const |
|
has_object(key: Variant) const |
|
resize_object(key: Variant, size: Vector2, inline_align: InlineAlignment = 5, baseline: float = 0.0) |
|
void |
set_bidi_override(override: Array) |
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 🔗
void set_alignment(value: HorizontalAlignment)
HorizontalAlignment get_alignment()
Горизонтальное выравнивание абзаца.
BitField[LineBreakFlag] break_flags = 3 🔗
void set_break_flags(value: BitField[LineBreakFlag])
BitField[LineBreakFlag] get_break_flags()
Правила переноса строк. Для получения дополнительной информации см. TextServer.
String custom_punctuation = "" 🔗
Пользовательский список знаков препинания, используемый для разбиения слов. Если задана пустая строка, используются значения сервера по умолчанию.
Направление написания текста.
Символ многоточия, используемый для обрезки текста.
BitField[JustificationFlag] justification_flags = 163 🔗
void set_justification_flags(value: BitField[JustificationFlag])
BitField[JustificationFlag] get_justification_flags()
Правила выравнивания заливки линий.
Дополнительный вертикальный интервал между строками (в пикселях), интервал добавляется к спуску строки. Это значение может быть отрицательным.
Ограничивает количество отображаемых строк текста.
Orientation orientation = 0 🔗
void set_orientation(value: Orientation)
Orientation get_orientation()
Ориентация текста.
bool preserve_control = false 🔗
Если установлено значение true, текст будет отображать управляющие символы.
bool preserve_invalid = true 🔗
Если установлено значение true, в тексте будут отображаться недопустимые символы.
OverrunBehavior text_overrun_behavior = 0 🔗
void set_text_overrun_behavior(value: OverrunBehavior)
OverrunBehavior get_text_overrun_behavior()
Поведение обрезки, когда текст превышает заданную ширину абзаца.
Ширина абзаца.
Описания метода
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 текстового буфера буквицы.
Vector2 get_dropcap_size() const 🔗
Возвращает размер ограничивающего прямоугольника буквицы.
Direction get_inferred_direction() const 🔗
Возвращает направление написания текста, выведенное алгоритмом BiDi.
float get_line_ascent(line: int) 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 🔗
Возвращает размер ограничивающей рамки абзаца без переносов строк.
Возвращает диапазон символов абзаца/параграфа.
Возвращает полный строковый буфер RID TextServer.
Возвращает размер ограничивающей рамки абзаца.
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) 🔗
Выравнивает абзац по указанным позициям табуляции.