TextParagraph

继承: RefCounted < Object

保存一段文本。

描述

用于处理单个文本段落的TextServer上的抽象。

属性

方法

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)) const

void

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

void

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

void

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

void

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

int

get_dropcap_lines() const

RID

get_dropcap_rid() const

Vector2

get_dropcap_size() 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

RID

get_rid() const

Vector2

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

行填充对齐规则。有关详细信息,请参阅JustificationFlag


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

如果设置为truetext将显示控制字符。


bool preserve_invalid = true 🔗

  • void set_preserve_invalid(value: bool)

  • bool get_preserve_invalid()

如果设置为truetext将显示无效字符。


OverrunBehavior text_overrun_behavior = 0 🔗

当文本超过段落的设置宽度时设置剪辑行为。有关所有模式的描述,请参阅OverrunBehavior


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)) const 🔗

使用color绘制文本的所有线条并将帽放入给定位置的画布项目中。pos指定边界框的左上角。


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

使用color将下拉帽绘制到画布项目的给定位置。pos指定边界框的左上角。


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

使用color将下拉帽轮廓绘制到画布项的给定位置。pos指定边界框的左上角。


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

使用color在给定位置将单行文本绘制到画布项目中。pos指定边界框的左上角。


void draw_line_outline(canvas: RID, pos: Vector2, line: int, outline_size: int = 1, color: Color = Color(1, 1, 1, 1)) const 🔗

使用color在给定位置将单行文本的轮廓绘制到画布项目中。pos指定边界框的左上角。


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)) const 🔗

使用color绘制文本所有行的轮廓,并在给定位置将帽放入画布项目中。pos指定边界框的左上角。


int get_dropcap_lines() const 🔗

返回dropcap使用的行数。


RID get_dropcap_rid() const 🔗

返回删除帽文本缓冲区RID。


Vector2 get_dropcap_size() 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 🔗

返回TextServer行缓冲区RID。


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 get_rid() const 🔗

返回TextServer完整字符串缓冲区RID。


Vector2 get_size() 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) 🔗

覆盖结构化文本的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) 🔗

将段落与给定的制表符对齐。