Class Item

All Implemented Interfaces:
PointerInterface

public class Item extends Record
The `PangoItem` structure stores information about a segment of text.

You typically obtain `PangoItems` by itemizing a piece of text
with [func@itemize].

https://docs.gtk.org/Pango/struct.Item.html

  • Field Details

  • Constructor Details

    • Item

      public Item(PointerContainer pointer)
    • Item

      public Item()
      Creates a new `PangoItem` structure initialized to default values.
  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • setFieldOffset

      public void setFieldOffset(int offset)
      byte offset of the start of this item in text.
    • getFieldOffset

      public int getFieldOffset()
      byte offset of the start of this item in text.
    • setFieldLength

      public void setFieldLength(int length)
      length of this item in bytes.
    • getFieldLength

      public int getFieldLength()
      length of this item in bytes.
    • setFieldNumChars

      public void setFieldNumChars(int num_chars)
      number of Unicode characters in the item.
    • getFieldNumChars

      public int getFieldNumChars()
      number of Unicode characters in the item.
    • applyAttrs

      public void applyAttrs(@Nonnull AttrIterator iter)
      Add attributes to a `PangoItem`.

      The idea is that you have attributes that don't affect itemization,
      such as font features, so you filter them out using
      [method@Pango.AttrList.filter], itemize your text, then reapply the
      attributes to the resulting items using this function.

      The @iter should be positioned before the range of the item,
      and will be advanced past it. This function is meant to be called
      in a loop over the items resulting from itemization, while passing
      the iter to each call.
      Parameters:
      iter - a `PangoAttrIterator`
    • copy

      public Item copy()
      Copy an existing `PangoItem` structure.
      Returns:
      the newly allocated `PangoItem`
    • free

      public void free()
      Free a `PangoItem` and all associated memory.
    • split

      public Item split(int split_index, int split_offset)
      Modifies @orig to cover only the text after @split_index, and
      returns a new item that covers the text before @split_index that
      used to be in @orig.

      You can think of @split_index as the length of the returned item.
      @split_index may not be 0, and it may not be greater than or equal
      to the length of @orig (that is, there must be at least one byte
      assigned to each item, you can't create a zero-length item).
      @split_offset is the length of the first item in chars, and must be
      provided because the text used to generate the item isn't available,
      so `pango_item_split()` can't count the char length of the split items
      itself.
      Parameters:
      split_index - byte index of position to split item, relative to the start of the item
      split_offset - number of chars between start of @orig and @split_index
      Returns:
      new item representing text before @split_index, which should be freed with [method@Pango.Item.free].
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()