logo top
Main Page   Widgets   Namespaces   Book  

Pango::GlyphString Class Reference

A Pango::GlyphString is used to store strings of glyphs with geometry and visual attribute information. More...

List of all members.

Public Member Functions

 GlyphString ()
 GlyphString (PangoGlyphString* gobject, bool make_a_copy=true)
 GlyphString (const GlyphString& other)
GlyphStringoperator= (const GlyphString& other)
 ~GlyphString ()
void swap (GlyphString& other)
PangoGlyphString* gobj ()
 Provides access to the underlying C instance.

const PangoGlyphString* gobj () const
 Provides access to the underlying C instance.

PangoGlyphString* gobj_copy () const
 GlyphString (const Glib::ustring& text, const Analysis& analysis)
 Construct a string of glyphs from a string of characters.

void set_size (int new_len)
void get_extents (const Glib::RefPtr<const Font>& font, Rectangle& ink_rect, Rectangle& logical_rect) const
void get_extents (int start, int end, const Glib::RefPtr<const Font>& font, Rectangle& ink_rect, Rectangle& logical_rect) const
Rectangle get_ink_extents (const Glib::RefPtr<const Font>& font) const
 Computes the extents of the glyph string as drawn.

Rectangle get_ink_extents (int start, int end, const Glib::RefPtr<const Font>& font) const
 Computes the extents of a sub-portion of the glyph string as drawn.

Rectangle get_logical_extents (const Glib::RefPtr<const Font>& font) const
 Computes the logical extents of a sub-portion of the glyph string.

Rectangle get_logical_extents (int start, int end, const Glib::RefPtr<const Font>& font) const
 Computes the logical extents of a sub-portion of the glyph string.

Glib::ArrayHandle<int> get_logical_widths (const Glib::ustring& text, int embedding_level) const
 Determine the screen width corresponding to each character.

int index_to_x (const Glib::ustring& text, const Analysis& analysis, int index, bool trailing) const
 Converts from character position to x position.

void x_to_index (const Glib::ustring& text, const Analysis& analysis, int x_pos, int& index, bool& trailing) const
 Convert from x offset to character position.

Glib::ArrayHandle<GlyphInfoget_glyphs () const
 Gharacter positions are computed by dividing up each cluster into equal portions.


Protected Attributes

PangoGlyphString* gobject_

Related Functions

(Note that these are not member functions.)

void swap (GlyphString& lhs, GlyphString& rhs)
Pango::GlyphString wrap (PangoGlyphString* object, bool take_copy=false)


Detailed Description

A Pango::GlyphString is used to store strings of glyphs with geometry and visual attribute information.

It can be measured or drawn to the screen.


Constructor & Destructor Documentation

Pango::GlyphString::GlyphString (  ) 
 

Pango::GlyphString::GlyphString ( PangoGlyphString*  gobject,
bool  make_a_copy = true
[explicit]
 

Pango::GlyphString::GlyphString ( const GlyphString other  ) 
 

Pango::GlyphString::~GlyphString (  ) 
 

Pango::GlyphString::GlyphString ( const Glib::ustring&  text,
const Analysis analysis
 

Construct a string of glyphs from a string of characters.

Given a segment of text and the corresponding Pango::Analysis structure returned from Pango::Context::itemize(), convert the characters into glyphs. You may also pass in only a sub-string of the item.

Parameters:
text The text to process. You must pass the same string into those member functions expecting a const Glib::ustring&.
analysis The analysis information return from Pango::Context::itemize().


Member Function Documentation

void Pango::GlyphString::get_extents ( int  start,
int  end,
const Glib::RefPtr<const Font>&  font,
Rectangle ink_rect,
Rectangle logical_rect
const
 

void Pango::GlyphString::get_extents ( const Glib::RefPtr<const Font>&  font,
Rectangle ink_rect,
Rectangle logical_rect
const
 

Glib::ArrayHandle<GlyphInfo> Pango::GlyphString::get_glyphs (  )  const
 

Gharacter positions are computed by dividing up each cluster into equal portions.

Returns:
An array of Pango::GlyphInfo objects.

Rectangle Pango::GlyphString::get_ink_extents ( int  start,
int  end,
const Glib::RefPtr<const Font>&  font
const
 

Computes the extents of a sub-portion of the glyph string as drawn.

Parameters:
start The start index.
end The end index.
font A Panog::Font
Returns:
The extents of the sub-portion of the glyph string as drawn.

Rectangle Pango::GlyphString::get_ink_extents ( const Glib::RefPtr<const Font>&  font  )  const
 

Computes the extents of the glyph string as drawn.

Parameters:
font A Pango::Font.
Returns:
The extents of the glyph string as drawn.

Rectangle Pango::GlyphString::get_logical_extents ( int  start,
int  end,
const Glib::RefPtr<const Font>&  font
const
 

Computes the logical extents of a sub-portion of the glyph string.

Parameters:
start The start index.
end The end index.
font A Pango::Font.
Returns:
The logical extents of the sub-portion of the glyph string.

Rectangle Pango::GlyphString::get_logical_extents ( const Glib::RefPtr<const Font>&  font  )  const
 

Computes the logical extents of a sub-portion of the glyph string.

Parameters:
font A Pango::Font.
Returns:
The logical extents of the glyph string.

Glib::ArrayHandle<int> Pango::GlyphString::get_logical_widths ( const Glib::ustring&  text,
int  embedding_level
const
 

Determine the screen width corresponding to each character.

When multiple characters compose a single cluster, the width of the entire cluster is divided equally among the characters.

Parameters:
text The text corresponding to the glyphs.
embedding_level The embedding level of the string.
Returns:
An array of integers representing the resulting character widths.

const PangoGlyphString* Pango::GlyphString::gobj (  )  const [inline]
 

Provides access to the underlying C instance.

PangoGlyphString* Pango::GlyphString::gobj (  )  [inline]
 

Provides access to the underlying C instance.

PangoGlyphString* Pango::GlyphString::gobj_copy (  )  const
 

int Pango::GlyphString::index_to_x ( const Glib::ustring&  text,
const Analysis analysis,
int  index,
bool  trailing
const
 

Converts from character position to x position.

(X position is measured from the left edge of the run). Character positions are computed by dividing up each cluster into equal portions.

Parameters:
text The text corresponding to the glyphs.
analysis The analysis information return from Pango::Context::itemize().
index The byte index within text.
trailing Whether we should compute the result for the beginning or end of the character.
Returns:
The x position.

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

void Pango::GlyphString::set_size ( int  new_len  ) 
 

void Pango::GlyphString::swap ( GlyphString other  ) 
 

void Pango::GlyphString::x_to_index ( const Glib::ustring&  text,
const Analysis analysis,
int  x_pos,
int&  index,
bool&  trailing
const
 

Convert from x offset to character position.

Character positions are computed by dividing up each cluster into equal portions. In scripts where positioning within a cluster is not allowed (such as Thai), the returned value may not be a valid cursor position; the caller must combine the result with the logical attributes for the text to compute the valid cursor position.

Parameters:
text The text corresponding to the glyphs.
analysis The analysis information return from Pango::Context::itemize().
x_pos The x offset (in thousands of a device unit).
index The location to store calculated byte index within.
trailing The location to store a boolean indicating whether the user clicked on the leading or trailing edge of the character.


Friends And Related Function Documentation

void swap ( GlyphString lhs,
GlyphString rhs
[related]
 

Pango::GlyphString wrap ( PangoGlyphString*  object,
bool  take_copy = false
[related]
 


Member Data Documentation

PangoGlyphString* Pango::GlyphString::gobject_ [protected]
 


The documentation for this class was generated from the following file:
Generated for gtkmm2.2 by Doxygen 1.3.3 © 1997-2001