Make a shallow copy of an existing PangoGlyphItemIter
structure.
Frees a PangoGlyphItem
Iter.
Initializes a PangoGlyphItemIter
structure to point to the
last cluster in a glyph item.
See PangoGlyphItemIter
for details of cluster orders.
the glyph item to iterate over
text corresponding to the glyph item
Initializes a PangoGlyphItemIter
structure to point to the
first cluster in a glyph item.
See PangoGlyphItemIter
for details of cluster orders.
the glyph item to iterate over
text corresponding to the glyph item
Advances the iterator to the next cluster in the glyph item.
See PangoGlyphItemIter
for details of cluster orders.
Moves the iterator to the preceding cluster in the glyph item.
See PangoGlyphItemIter
for details of cluster orders.
A
PangoGlyphItemIter
is an iterator over the clusters in aPangoGlyphItem
.The forward direction of the iterator is the logical direction of text. That is, with increasing
start_index
andstart_char
values. Ifglyph_item
is right-to-left (that is, ifglyph_item->item->analysis.level
is odd), thenstart_glyph
decreases as the iterator moves forward. Moreover, in right-to-left cases,start_glyph
is greater thanend_glyph
.An iterator should be initialized using either pango_glyph_item_iter_init_start() or pango_glyph_item_iter_init_end(), for forward and backward iteration respectively, and walked over using any desired mixture of pango_glyph_item_iter_next_cluster() and pango_glyph_item_iter_prev_cluster().
A common idiom for doing a forward iteration over the clusters is:
Note that
text
is the start of the text for layout, which is then indexed byglyph_item->item->offset
to get to the text ofglyph_item
. Thestart_index
andend_index
values can directly index intotext
. Thestart_glyph,
end_glyph,
start_char,
andend_char
values however are zero-based for theglyph_item
. For each cluster, the item pointed at by the start variables is included in the cluster while the one pointed at by end variables is not.None of the members of a
PangoGlyphItemIter
should be modified manually.