:right-sidebar: True Item =================================================================== .. currentmodule:: gi.repository.Pango .. class:: Item(**kwargs) :no-contents-entry: The ``PangoItem`` structure stores information about a segment of text. You typically obtain ``PangoItems`` by itemizing a piece of text with :obj:`~gi.repository.Pango.itemize`\. Constructors ------------ .. rst-class:: interim-class .. class:: Item :no-index: .. classmethod:: new() -> ~gi.repository.Pango.Item Creates a new ``PangoItem`` structure initialized to default values. Methods ------- .. rst-class:: interim-class .. class:: Item :no-index: .. method:: apply_attrs(iter: ~gi.repository.Pango.AttrIterator) -> None 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 :obj:`~gi.repository.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. .. versionadded:: 1.44 :param iter: a ``PangoAttrIterator`` .. method:: free() -> None Free a ``PangoItem`` and all associated memory. .. method:: get_char_offset() -> int Returns the character offset of the item from the beginning of the itemized text. If the item has not been obtained from Pango's itemization machinery, then the character offset is not available. In that case, this function returns -1. .. versionadded:: 1.54 .. method:: split(split_index: int, split_offset: int) -> ~gi.repository.Pango.Item 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. :param split_index: byte index of position to split item, relative to the start of the item :param split_offset: number of chars between start of ``orig`` and ``split_index`` Fields ------ .. rst-class:: interim-class .. class:: Item :no-index: .. attribute:: analysis Analysis results for the item. .. attribute:: length Length of this item in bytes. .. attribute:: num_chars Number of Unicode characters in the item. .. attribute:: offset Byte offset of the start of this item in text.