方法

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》始终在光标应显示的行上。

此参数将由函数设置。