pangomm 2.52.0
Public Member Functions | Static Public Member Functions | Protected Attributes | Related Functions | List of all members
Pango::GlyphItem Class Reference

A Pango::GlyphItem is a pair of a Pango::Item and the glyphs resulting from shaping the text corresponding to an item. More...

#include <pangomm/glyphitem.h>

Public Member Functions

 GlyphItem ()
 
 GlyphItem (PangoGlyphItem * gobject, bool make_a_copy=true)
 
 GlyphItem (const GlyphItem & other)
 
GlyphItemoperator= (const GlyphItem & other)
 
 GlyphItem (GlyphItem && other) noexcept
 
GlyphItemoperator= (GlyphItem && other) noexcept
 
 ~GlyphItem () noexcept
 
void swap (GlyphItem & other) noexcept
 
PangoGlyphItem * gobj ()
 Provides access to the underlying C instance. More...
 
const PangoGlyphItem * gobj () const
 Provides access to the underlying C instance. More...
 
PangoGlyphItem * gobj_copy () const
 Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs. More...
 
GlyphItem split (const Glib::ustring & text, int split_index)
 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...
 
void letter_space (const Glib::ustring & text, const LogAttr & log_attrs, int letter_spacing=0)
 Adds spacing between the graphemes of glyph_item to give the effect of typographic letter spacing. More...
 
Item get_item () const
 Gets the Pango::Item object that provides information about the segment of text in this run. More...
 
GlyphString get_glyphs () const
 Gets the string of glyphs obtained by shaping the text for this item. More...
 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 

Protected Attributes

PangoGlyphItem * gobject_
 

Related Functions

(Note that these are not member functions.)

void swap (GlyphItem & lhs, GlyphItem & rhs) noexcept
 
Pango::GlyphItem wrap (PangoGlyphItem * object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

Detailed Description

A Pango::GlyphItem is a pair of a Pango::Item and the glyphs resulting from shaping the text corresponding to an item.

As an example of the usage of Pango::GlyphItem, the results of shaping text with Pango::Layout is a list of Pango::LayoutLine, each of which contains a list of Pango::GlyphItem.

For backward compatibility PangoLayoutRun is an alias for PangoGlyphItem in pango's C code. There is no Pango::LayoutRun in this version of pangomm.

Since pangomm 2.48:

Constructor & Destructor Documentation

◆ GlyphItem() [1/4]

Pango::GlyphItem::GlyphItem ( )

◆ GlyphItem() [2/4]

Pango::GlyphItem::GlyphItem ( PangoGlyphItem *  gobject,
bool  make_a_copy = true 
)
explicit

◆ GlyphItem() [3/4]

Pango::GlyphItem::GlyphItem ( const GlyphItem other)

◆ GlyphItem() [4/4]

Pango::GlyphItem::GlyphItem ( GlyphItem &&  other)
noexcept

◆ ~GlyphItem()

Pango::GlyphItem::~GlyphItem ( )
noexcept

Member Function Documentation

◆ get_glyphs()

GlyphString Pango::GlyphItem::get_glyphs ( ) const

Gets the string of glyphs obtained by shaping the text for this item.

Returns
A Pango::GlyphString object.

◆ get_item()

Item Pango::GlyphItem::get_item ( ) const

Gets the Pango::Item object that provides information about the segment of text in this run.

Returns
A Pango::Item object.

◆ get_type()

static GType Pango::GlyphItem::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

◆ gobj() [1/2]

PangoGlyphItem * Pango::GlyphItem::gobj ( )
inline

Provides access to the underlying C instance.

◆ gobj() [2/2]

const PangoGlyphItem * Pango::GlyphItem::gobj ( ) const
inline

Provides access to the underlying C instance.

◆ gobj_copy()

PangoGlyphItem * Pango::GlyphItem::gobj_copy ( ) const

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

◆ letter_space()

void Pango::GlyphItem::letter_space ( const Glib::ustring &  text,
const LogAttr log_attrs,
int  letter_spacing = 0 
)

Adds spacing between the graphemes of glyph_item to give the effect of typographic letter spacing.

Since pangomm 1.6:
Parameters
textText that glyph_item corresponds to (glyph_item->item->offset is an offset from the start of text).
log_attrsLogical attributes for the item (the first logical attribute refers to the position before the first character in the item).
letter_spacingAmount of letter spacing to add in Pango units. May be negative, though too large negative values will give ugly results.

◆ operator=() [1/2]

GlyphItem & Pango::GlyphItem::operator= ( const GlyphItem other)

◆ operator=() [2/2]

GlyphItem & Pango::GlyphItem::operator= ( GlyphItem &&  other)
noexcept

◆ split()

GlyphItem Pango::GlyphItem::split ( const Glib::ustring &  text,
int  split_index 
)

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

This function is similar in function to Pango::Item::split() (and uses it internally.)

Since pangomm 1.2:
Parameters
textText to which positions in orig apply.
split_indexByte index of position to split item, relative to the start of the item.
Returns
The newly allocated item representing text before split_index, which should be freed with free().

◆ swap()

void Pango::GlyphItem::swap ( GlyphItem other)
noexcept

Friends And Related Function Documentation

◆ swap()

void swap ( GlyphItem lhs,
GlyphItem rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side

◆ wrap()

Pango::GlyphItem wrap ( PangoGlyphItem *  object,
bool  take_copy = false 
)
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns
A C++ instance that wraps this C instance.

Member Data Documentation

◆ gobject_

PangoGlyphItem* Pango::GlyphItem::gobject_
protected