pangomm: Pango::Item Class Reference

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

#include <pangomm/item.h>

Public Member Functions

 Item (PangoItem* castitem, bool make_a_copy=true)
 
 Item (const Item& src)
 
Itemoperator= (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. More...

 
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. More...

 
int get_offset () const
 Gets the offset of the segment from the beginning of the string in bytes. More...

 
int get_length () const
 Gets the length of the segment in bytes. More...

 
int get_num_chars () const
 Gets the length of the segment in characters. More...

 
Analysis get_analysis () const
 Gets the properties of the segment. More...

 
Glib::ustring get_segment (const Glib::ustring& text) const
 Computes the segment of text that is represented by the item. More...

 
GlyphString shape (const Glib::ustring& text) const
 Converts a segment of text into a string of glyphs. More...

 
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. More...

 
PangoItem* gobj ()
 Provides access to the underlying C GObject. More...

 
const PangoItem* gobj () const
 Provides access to the underlying C GObject. More...

 

Protected Attributes

PangoItem* gobject_
 

Related Functions

(Note that these are not member functions.)

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

Pango::Item::Item ( PangoItem *  castitem,
bool  make_a_copy = true 
)
explicit
Pango::Item::Item ( const Item src)
Pango::Item::~Item ( )

Member Function Documentation

Analysis Pango::Item::get_analysis ( ) const

Gets the properties of the segment.

Returns
The properties of the segment.
int Pango::Item::get_length ( ) const

Gets the length of the segment in bytes.

Returns
The length of the segment in bytes.
int Pango::Item::get_num_chars ( ) const

Gets the length of the segment in characters.

Returns
The length of the semgment in characters.
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.
Glib::ustring Pango::Item::get_segment ( const Glib::ustring text) const

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

Parameters
textThe text that has been passed into Pango::Context::itemize().
Returns
The sub-string of text that corresponds to the item.
PangoItem* Pango::Item::gobj ( )
inline

Provides access to the underlying C GObject.

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

Provides access to the underlying C GObject.

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.

Item& Pango::Item::operator= ( const Item src)
GlyphString Pango::Item::shape ( const Glib::ustring text) const

Converts a segment of text into a string of glyphs.

Parameters
textThe 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.
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_textThe 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_textText of the paragraph. See GlyphString::GlyphString( const Glib::ustring& item_text, const Glib::ustring& paragraph_text, const Analysis& analysis, ShapeFlags flags).
flagsFlags influencing the shaping process.
Returns
A Pango::GlyphString object that can be measured or drawn.
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_indexByte index of position to split item, relative to the start of the item.
split_offsetNumber 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 Function Documentation

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

Member Data Documentation

PangoItem* Pango::Item::gobject_
protected