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() 🔗
移除首字下沉。
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 🔗
返回首字下沉使用的行数。
返回首字下沉文本缓冲 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 🔗
返回 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 🔗
返回段落边界框的大小,不带换行符。
返回段落的字符范围。
返回 TextServer 完整字符串缓冲区的 RID。
返回段落边界框的大小。
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) 🔗
将段落与给定的制表位对齐。