Method
PangoLayoutmove_cursor_visually
Declaration [src]
void
pango_layout_move_cursor_visually (
PangoLayout* layout,
gboolean strong,
int old_index,
int old_trailing,
int direction,
int* new_index,
int* new_trailing
)
Description [src]
Computes a new cursor position from an old position and a count of positions to move visually.
If direction
is positive, then the new strong cursor position will be
one position to the right of the old cursor position. If direction
is
negative, then the new strong cursor position will be one position to
the left of the old cursor position.
In the presence of bidirectional text, the correspondence between logical and visual order will depend on the direction of the current run, and there may be jumps when the cursor is moved off of the end of a run.
Motion here is in cursor positions, not in characters, so a single
call to pango_layout_move_cursor_visually()
may move the cursor
over multiple characters when multiple characters combine to form a
single grapheme.
Parameters
strong |
gboolean |
Whether the moving cursor is the strong cursor or the weak cursor. The strong cursor is the cursor corresponding to text insertion in the base direction for the layout. |
|
old_index |
int |
The byte index of the grapheme for the old index. |
|
old_trailing |
int |
If 0, the cursor was at the leading edge of the
grapheme indicated by |
|
direction |
int |
Direction to move cursor. A negative value indicates motion to the left. |
|
new_index |
int* |
Location to store the new cursor byte index.
A value of -1 indicates that the cursor has been moved off the
beginning of the layout. A value of |
|
The argument will be set by the function. | |
The instance takes ownership of the data, and is responsible for freeing it. | |
new_trailing |
int* |
Number of characters to move forward from
the location returned for |
|
The argument will be set by the function. | |
The instance takes ownership of the data, and is responsible for freeing it. |