方法
PangoLayoutmove_cursor_visually
声明 [源]
void
pango_layout_move_cursor_visually (
PangoLayout* layout,
gboolean strong,
int old_index,
int old_trailing,
int direction,
int* new_index,
int* new_trailing
)
描述 [源]
从旧位置和方向计算新的光标位置。
如果 direction
为正,则新位置将导致强势或弱势光标在旧光标位置的一格向右显示。如果 direction
为负,将向左移动。
在存在双向文本的情况下,逻辑顺序和视觉顺序之间的对应关系将依赖于当前运行的指向,并且当光标移出运行的末尾时可能会有跳跃。
这里的运动是在光标位置,而不是在字符上,所以对函数的单次调用可能会将光标移过多个字符,当多个字符组合成一个单一的图形字符时。
参数
strong
-
类型:
gboolean
移动的光标是强势光标还是弱势光标。强势光标是布局基方向的文本插入对应的游标。
old_index
-
类型:
int
当前光标位置的字节数索引。
old_trailing
-
类型:
int
如果为 0,则光标位于
old_index
指示的图形的不远处的前沿,如果 > 0,则光标位于尾部。 direction
-
类型:
int
移动光标的方向。负值表示向左运动。
new_index
-
类型:
int*
存储新光标字节数索引的位置。值 -1 表示光标已移出布局的开头。值
G_MAXINT
表示光标已移出布局的末尾。此参数将由函数设置。 new_trailing
-
类型:
int*
从
new_index
返回的位置前方移动的字符数,以获取光标应显示的位置。这允许区分同一行的开头和前一行末尾的位置。《new_index》始终在光标应显示的行上。此参数将由函数设置。