Package ch.bailu.gtk.pango
Class GlyphItemIter
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.type.Record
ch.bailu.gtk.pango.GlyphItemIter
- All Implemented Interfaces:
PointerInterface
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
@start_glyph, @end_glyph, @start_char, and @end_char values however are
zero-based for the @glyph_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.
`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
@start_glyph, @end_glyph, @start_char, and @end_char values however are
zero-based for the @glyph_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.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncopy()
Make a shallow copy of an existing `PangoGlyphItemIter` structure.void
free()
Frees a `PangoGlyphItem`Iter.static ClassHandler
int
int
int
int
int
int
static int
static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
boolean
Initializes a `PangoGlyphItemIter` structure to point to the
last cluster in a glyph item.boolean
Initializes a `PangoGlyphItemIter` structure to point to the
last cluster in a glyph item.boolean
Initializes a `PangoGlyphItemIter` structure to point to the
first cluster in a glyph item.boolean
Initializes a `PangoGlyphItemIter` structure to point to the
first cluster in a glyph item.boolean
Advances the iterator to the next cluster in the glyph item.boolean
Moves the iterator to the preceding cluster in the glyph item.void
setFieldEndChar
(int end_char) void
setFieldEndGlyph
(int end_glyph) void
setFieldEndIndex
(int end_index) void
setFieldGlyphItem
(GlyphItem glyph_item) void
setFieldStartChar
(int start_char) void
setFieldStartGlyph
(int start_glyph) void
setFieldStartIndex
(int start_index) void
setFieldText
(Str text) Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Field Details
-
GLYPH_ITEM
- See Also:
-
TEXT
- See Also:
-
START_GLYPH
- See Also:
-
START_INDEX
- See Also:
-
START_CHAR
- See Also:
-
END_GLYPH
- See Also:
-
END_INDEX
- See Also:
-
END_CHAR
- See Also:
-
-
Constructor Details
-
GlyphItemIter
-
GlyphItemIter
public GlyphItemIter()
-
-
Method Details
-
getClassHandler
-
setFieldGlyphItem
-
getFieldGlyphItem
-
setFieldText
-
getFieldText
-
setFieldStartGlyph
public void setFieldStartGlyph(int start_glyph) -
getFieldStartGlyph
public int getFieldStartGlyph() -
setFieldStartIndex
public void setFieldStartIndex(int start_index) -
getFieldStartIndex
public int getFieldStartIndex() -
setFieldStartChar
public void setFieldStartChar(int start_char) -
getFieldStartChar
public int getFieldStartChar() -
setFieldEndGlyph
public void setFieldEndGlyph(int end_glyph) -
getFieldEndGlyph
public int getFieldEndGlyph() -
setFieldEndIndex
public void setFieldEndIndex(int end_index) -
getFieldEndIndex
public int getFieldEndIndex() -
setFieldEndChar
public void setFieldEndChar(int end_char) -
getFieldEndChar
public int getFieldEndChar() -
copy
Make a shallow copy of an existing `PangoGlyphItemIter` structure.- Returns:
- the newly allocated `PangoGlyphItemIter`
-
free
public void free()Frees a `PangoGlyphItem`Iter. -
initEnd
Initializes a `PangoGlyphItemIter` structure to point to the
last cluster in a glyph item.
See `PangoGlyphItemIter` for details of cluster orders.- Parameters:
glyph_item
- the glyph item to iterate overtext
- text corresponding to the glyph item- Returns:
- %FALSE if there are no clusters in the glyph item
-
initEnd
Initializes a `PangoGlyphItemIter` structure to point to the
last cluster in a glyph item.
See `PangoGlyphItemIter` for details of cluster orders.- Parameters:
glyph_item
- the glyph item to iterate overtext
- text corresponding to the glyph item- Returns:
- %FALSE if there are no clusters in the glyph item
-
initStart
Initializes a `PangoGlyphItemIter` structure to point to the
first cluster in a glyph item.
See `PangoGlyphItemIter` for details of cluster orders.- Parameters:
glyph_item
- the glyph item to iterate overtext
- text corresponding to the glyph item- Returns:
- %FALSE if there are no clusters in the glyph item
-
initStart
Initializes a `PangoGlyphItemIter` structure to point to the
first cluster in a glyph item.
See `PangoGlyphItemIter` for details of cluster orders.- Parameters:
glyph_item
- the glyph item to iterate overtext
- text corresponding to the glyph item- Returns:
- %FALSE if there are no clusters in the glyph item
-
nextCluster
public boolean nextCluster()Advances the iterator to the next cluster in the glyph item.
See `PangoGlyphItemIter` for details of cluster orders.- Returns:
- %TRUE if the iterator was advanced, %FALSE if we were already on the last cluster.
-
prevCluster
public boolean prevCluster()Moves the iterator to the preceding cluster in the glyph item.
See `PangoGlyphItemIter` for details of cluster orders.- Returns:
- %TRUE if the iterator was moved, %FALSE if we were already on the first cluster.
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-