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.
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 |