get_cursor_pos


Description:

public void get_cursor_pos (int index_, out Rectangle strong_pos, out Rectangle weak_pos)

Given an index within a layout, determines the positions that of the strong and weak cursors if the insertion point is at that index.

The position of each cursor is stored as a zero-width rectangle with the height of the run extents.

<picture> <source srcset="cursor-positions-dark.png" media="(prefers-color-scheme: dark)"> <img alt="Cursor positions" src="cursor-positions-light.png"> </picture>

The strong cursor location is the location where characters of the directionality equal to the base direction of the layout are inserted. The weak cursor location is the location where characters of the directionality opposite to the base direction of the layout are inserted.

The following example shows text with both a strong and a weak cursor.

<picture> <source srcset="split-cursor-dark.png" media="(prefers-color-scheme: dark)"> <img alt="Strong and weak cursors" src="split-cursor-light.png"> </picture>

The strong cursor has a little arrow pointing to the right, the weak cursor to the left. Typing a 'c' in this situation will insert the character after the 'b', and typing another Hebrew character, like 'ג', will insert it at the end.

Parameters:

this

a `PangoLayout`

index_

the byte index of the cursor

strong_pos

location to store the strong cursor position

weak_pos

location to store the weak cursor position