GlyphItemIter

class GlyphItemIter(val pangoGlyphItemIterPointer: <Error class: unknown class><<Error class: unknown class>>)(source)

A PangoGlyphItemIter is an iterator over the clusters in a PangoGlyphItem.

The forward direction of the iterator is the logical direction of text. That is, with increasing @start_index and @start_char values. If @glyph_item is right-to-left (that is, if glyph_item->item->analysis.level is odd), then @start_glyph decreases as the iterator moves forward. Moreover, in right-to-left cases, @start_glyph is greater than @end_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:

PangoGlyphItemIter cluster_iter;
gboolean have_cluster;

for (have_cluster = pango_glyph_item_iter_init_start (&cluster_iter,
                                                      glyph_item, text);
     have_cluster;
     have_cluster = pango_glyph_item_iter_next_cluster (&cluster_iter))
{
  ...
}

Note that @text is the start of the text for layout, which is then indexed by glyph_item->item->offset to get to the text of @glyph_item. The @start_index and @end_index values can directly index into @text. The

Since

1.22

Constructors

Link copied to clipboard
constructor()

Allocate a new GlyphItemIter.

constructor(scope: <Error class: unknown class>)

Allocate a new GlyphItemIter using the provided AutofreeScope.

constructor(    glyphItem: GlyphItem?,     text: String?,     startGlyph: <Error class: unknown class>,     startIndex: <Error class: unknown class>,     startChar: <Error class: unknown class>,     endGlyph: <Error class: unknown class>,     endIndex: <Error class: unknown class>,     endChar: <Error class: unknown class>)

Allocate a new GlyphItemIter.

constructor(    glyphItem: GlyphItem?,     text: String?,     startGlyph: <Error class: unknown class>,     startIndex: <Error class: unknown class>,     startChar: <Error class: unknown class>,     endGlyph: <Error class: unknown class>,     endIndex: <Error class: unknown class>,     endChar: <Error class: unknown class>,     scope: <Error class: unknown class>)

Allocate a new GlyphItemIter using the provided AutofreeScope.

constructor(pangoGlyphItemIterPointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
var endChar: <Error class: unknown class>
Link copied to clipboard
var endGlyph: <Error class: unknown class>
Link copied to clipboard
var endIndex: <Error class: unknown class>
Link copied to clipboard
Link copied to clipboard
val pangoGlyphItemIterPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
var startChar: <Error class: unknown class>
Link copied to clipboard
var startGlyph: <Error class: unknown class>
Link copied to clipboard
var startIndex: <Error class: unknown class>
Link copied to clipboard
var text: String?

Functions

Link copied to clipboard

Make a shallow copy of an existing PangoGlyphItemIter structure.

Link copied to clipboard
fun free()

Frees a PangoGlyphItemIter.

Link copied to clipboard
fun initEnd(glyphItem: GlyphItem, text: String): Boolean

Initializes a PangoGlyphItemIter structure to point to the last cluster in a glyph item.

Link copied to clipboard
fun initStart(glyphItem: GlyphItem, text: String): Boolean

Initializes a PangoGlyphItemIter structure to point to the first cluster in a glyph item.

Link copied to clipboard

Advances the iterator to the next cluster in the glyph item.

Link copied to clipboard

Moves the iterator to the preceding cluster in the glyph item. See PangoGlyphItemIter for details of cluster orders.

Link copied to clipboard
open override fun toString(): String