pangomm 2.56.2

Public Member Functions | Protected Attributes | Related Symbols | List of all members
Pango::Item Class Reference

A Pango::Item stores information about a segment of text. More...

`#include <pangomm/item.h>`

## Public Member Functions
| Item ()
| Creates a new Pango::Item structure initialized to default values.
| Item (PangoItem * castitem, bool make_a_copy=true)
| Item (const Item & src)
Item & | operator= (const Item & src)
| ~Item ()
PangoItem * | gobj_copy () const
| Provides access to the underlying C GObject. The caller is responsible for freeing it. Use when directly setting fields in structs.
int | get_char_offset () const
| Returns the character offset of the item from the beginning of the itemized text.
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.
int | get_offset () const
| Gets the offset of the segment from the beginning of the string in bytes.
int | get_length () const
| Gets the length of the segment in bytes.
int | get_num_chars () const
| Gets the length of the segment in characters.
Analysis | get_analysis () const
| Gets the properties of the segment.
Glib::ustring | get_segment (const Glib::ustring & text) const
| Computes the segment of text that is represented by the item.
GlyphString | shape (const Glib::ustring & text) const
| Converts a segment of text into a string of glyphs.
GlyphString | shape (const Glib::ustring & item_text, const Glib::ustring & paragraph_text, ShapeFlags flags=ShapeFlags::NONE) const
| Converts a segment of text into a string of glyphs.
PangoItem * | gobj ()
| Provides access to the underlying C GObject.
const PangoItem * | gobj () const
| Provides access to the underlying C GObject.

## Protected Attributes
PangoItem * | gobject_

## Related Symbols
(Note that these are not member symbols.)
Pango::Item | wrap (PangoItem * object, bool take_copy=true)

## Detailed Description

A Pango::Item stores information about a segment of text.

Pango::Item is used as an output type only so there is no public default constructor. You retrieve objects of this type by calling Pango::Context::itemize() with some text. The actual rendering of the segment of text that corresponds to a particular Pango::Item (or some sub-string) into a string of glyphs is done with shape(). The segment of text that corresponds to a Pango::Item can be computed from the text passed into Pango::Context::itemize() with get_segment(). Together with the Pango::Analysis data member that can be accessed with get_analysis() it is needed for further calculations in Pango::GlyphString.

## Constructor & Destructor Documentation

## ◆ Item() [1/3]

Pango::Item::Item | ( |  | ) |

Creates a new Pango::Item structure initialized to default values.

Since pangomm 2.54

## ◆ Item() [2/3]

Pango::Item::Item | ( | PangoItem * | castitem,
|  | bool | make_a_copy = true )
| explicit

## ◆ Item() [3/3]

Pango::Item::Item | ( | const Item & | src | ) |

## ◆ ~Item()

Pango::Item::~Item | ( |  | ) |

## Member Function Documentation

## ◆ get_analysis()

Analysis Pango::Item::get_analysis | ( |  | ) | const

Gets the properties of the segment.

Returns
  The properties of the segment.

## ◆ get_char_offset()

int Pango::Item::get_char_offset | ( |  | ) | const

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.

Since pangomm 2.54

Returns
  The character offset of the item from the beginning of the itemized text, or -1.

## ◆ get_length()

int Pango::Item::get_length | ( |  | ) | const

Gets the length of the segment in bytes.

Returns
  The length of the segment in bytes.

## ◆ get_num_chars()

int Pango::Item::get_num_chars | ( |  | ) | const

Gets the length of the segment in characters.

Returns
  The length of the semgment in characters.

## ◆ get_offset()

int Pango::Item::get_offset | ( |  | ) | const

Gets the offset of the segment from the beginning of the string in bytes.

Returns
  The offset of the segment from the beginning of the string in bytes.

## ◆ get_segment()

Glib::ustring Pango::Item::get_segment | ( | const Glib::ustring & | text | ) | const

Computes the segment of text that is represented by the item.

Parameters

  text | The text that has been passed into Pango::Context::itemize().

Returns
  The sub-string of text that corresponds to the item.

## ◆ gobj() [1/2]

PangoItem * Pango::Item::gobj | ( |  | ) |
| inline

Provides access to the underlying C GObject.

## ◆ gobj() [2/2]

const PangoItem * Pango::Item::gobj | ( |  | ) | const
| inline

Provides access to the underlying C GObject.

## ◆ gobj_copy()

PangoItem * Pango::Item::gobj_copy | ( |  | ) | const

Provides access to the underlying C GObject. The caller is responsible for freeing it. Use when directly setting fields in structs.

## ◆ operator=()

Item & Pango::Item::operator= | ( | const Item & | src | ) |

## ◆ shape() [1/2]

GlyphString Pango::Item::shape | ( | const Glib::ustring & | item_text,
|  | const Glib::ustring & | paragraph_text,
|  | ShapeFlags | flags = ShapeFlags::NONE ) const

Converts a segment of text into a string of glyphs.

Since pangomm 2.44

Parameters

  item_text | The text to process. This must either be the whole segment of text that corresponds to the item as returned by get_segment() or a substring of that segment. You need to pass the same text to the member functions of Pango::GlyphString for further calculations.
  paragraph_text | Text of the paragraph. See GlyphString::GlyphString( const Glib::ustring& item_text, const Glib::ustring& paragraph_text, const Analysis& analysis, ShapeFlags flags).
  flags | Flags influencing the shaping process.

Returns
  A Pango::GlyphString object that can be measured or drawn.

## ◆ shape() [2/2]

GlyphString Pango::Item::shape | ( | const Glib::ustring & | text | ) | const

Converts a segment of text into a string of glyphs.

Parameters

  text | The text to process. This must either be the whole segment of text that corresponds to the item as returned by get_segment() or a substring of that segment. You need to pass the same text to the member functions of Pango::GlyphString for further calculations.

Returns
  A Pango::GlyphString object that can be measured or drawn.

## ◆ split()

Item Pango::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 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 free().

## Friends And Related Symbol Documentation

## ◆ wrap()

Pango::Item wrap | ( | PangoItem * | object,
|  | bool | take_copy = true )
| related

## Member Data Documentation

## ◆ gobject_

PangoItem* Pango::Item::gobject_
| protected