pangomm: Pango::Attribute Class Reference

The Pango::Attribute structure represents the common portions of all attributes. More...

#include <pangomm/attributes.h>

Inheritance diagram for Pango::Attribute:

Public Member Functions

 Attribute ()
 Constructs an invalid attribute. More...

 
 Attribute (const Attribute& src)
 
 Attribute (PangoAttribute* castitem, bool take_copy=true)
 
 ~Attribute ()
 
Attributeoperator= (const Attribute& src)
 
AttrType get_type () const
 Gets the type ID for this attribute. More...

 
unsigned int get_start_index () const
 Gets the start index of the range. More...

 
unsigned int get_end_index () const
 Gets the end index of the range. More...

 
void set_start_index (const unsigned int& value)
 Sets the start index of the range. More...

 
void set_end_index (const unsigned int& value)
 Sets the end index of the range. More...

 
bool equal (const Attribute& attr2) const
 Compare two attributes for equality. More...

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

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

 

Static Public Member Functions

static AttrType register_type (const Glib::ustring& name)
 Allocate a new attribute type ID. More...

 
static Glib::ustring get_type_name (AttrType type)
 Fetches the attribute type name passed in when registering the type using register_type(). More...

 
static AttrString create_attr_family (const Glib::ustring& family)
 Create a new font family attribute. More...

 
static AttrLanguage create_attr_language (const Language& language)
 Create a new language tag attribute. More...

 
static AttrColor create_attr_foreground (guint16 red, guint16 green, guint16 blue)
 Create a new foreground color attribute. More...

 
static AttrColor create_attr_background (guint16 red, guint16 green, guint16 blue)
 Create a new background color attribute. More...

 
static AttrInt create_attr_foreground_alpha (guint16 alpha)
 Create a new foreground alpha attribute. More...

 
static AttrInt create_attr_background_alpha (guint16 alpha)
 Create a new background alpha attribute. More...

 
static AttrInt create_attr_size (int size)
 Create a new font-size attribute. More...

 
static AttrInt create_attr_size_absolute (int size)
 Create a new font-size attribute. More...

 
static AttrInt create_attr_style (Style style)
 Create a new font slant style attribute. More...

 
static AttrInt create_attr_weight (Weight weight)
 Create a new font weight attribute. More...

 
static AttrInt create_attr_variant (Variant variant)
 Create a new font variant attribute (normal or small caps). More...

 
static AttrInt create_attr_stretch (Stretch stretch)
 Create a new font stretch attribute. More...

 
static AttrFontDesc create_attr_font_desc (const FontDescription& desc)
 Create a new font description attribute. More...

 
static AttrInt create_attr_underline (Underline underline)
 Create a new underline-style object. More...

 
static AttrColor create_attr_underline_color (guint16 red, guint16 green, guint16 blue)
 Create a new underline color attribute. More...

 
static AttrInt create_attr_overline (Overline overline)
 Create a new overline-style object. More...

 
static AttrColor create_attr_overline_color (guint16 red, guint16 green, guint16 blue)
 Create a new overline color attribute. More...

 
static AttrInt create_attr_strikethrough (bool strikethrough)
 Create a new font strike-through attribute. More...

 
static AttrColor create_attr_strikethrough_color (guint16 red, guint16 green, guint16 blue)
 Create a new strikethrough color attribute. More...

 
static AttrInt create_attr_rise (int rise)
 Create a new baseline displacement attribute. More...

 
static AttrFloat create_attr_scale (double scale_factor)
 Create a new font size scale attribute. More...

 
static AttrInt create_attr_fallback (bool enable_fallback)
 Create a new font fallback attribute. More...

 
static AttrInt create_attr_letter_spacing (int letter_spacing)
 Create a new letter-spacing attribute. More...

 
static AttrShape create_attr_shape (const Rectangle& ink_rect, const Rectangle& logical_rect)
 Create a new shape attribute. More...

 
static AttrInt create_attr_gravity (Gravity gravity)
 Create a new gravity attribute. More...

 
static AttrInt create_attr_gravity_hint (GravityHint hint)
 Create a new gravity hint attribute. More...

 
static AttrString create_attr_font_features (const Glib::ustring& features)
 Create a new font features tag attribute. More...

 
static AttrInt create_attr_allow_breaks (bool allow_breaks)
 Create a new allow-breaks attribute. More...

 
static AttrInt create_attr_insert_hyphens (bool insert_hyphens)
 Create a new insert-hyphens attribute. More...

 
static AttrInt create_attr_show (ShowFlags show)
 Create a new attribute that influences how invisible characters are rendered. More...

 

Protected Attributes

PangoAttribute* gobject_
 

Related Functions

(Note that these are not member functions.)

bool operator== (const Attribute& lhs, const Attribute& rhs)
 
bool operator!= (const Attribute& lhs, const Attribute& rhs)
 
Pango::Attribute wrap (PangoAttribute* object, bool take_copy=false)
 

Detailed Description

The Pango::Attribute structure represents the common portions of all attributes.

Particular types of attributes derive this class. It holds the range in which the value in the type-specific part of the attribute applies.

Attributed text is used in a number of places in pango. It is used as the input to the itemization process and also when creating a Pango::Layout.

Constructor & Destructor Documentation

Pango::Attribute::Attribute ( )

Constructs an invalid attribute.

Pango::Attribute::Attribute ( const Attribute src)
Pango::Attribute::Attribute ( PangoAttribute *  castitem,
bool  take_copy = true 
)
explicit
Pango::Attribute::~Attribute ( )

Member Function Documentation

static AttrInt Pango::Attribute::create_attr_allow_breaks ( bool  allow_breaks)
static

Create a new allow-breaks attribute.

If breaks are disabled, the range will be kept in a single run, as far as possible.

Since pangomm 2.46:
Parameters
allow_breakstrue if line breaks are allowed.
Returns
An attribute of type AttrInt.
static AttrColor Pango::Attribute::create_attr_background ( guint16  red,
guint16  green,
guint16  blue 
)
static

Create a new background color attribute.

Parameters
redThe red value (ranging from 0 to 65535).
greenThe green value (ranging from 0 to 65535).
blueThe blue value (ranging from 0 to 65535).
Returns
An attribute of type AttrColor.
static AttrInt Pango::Attribute::create_attr_background_alpha ( guint16  alpha)
static

Create a new background alpha attribute.

Parameters
alphaThe alpha value, between 1 and 65536.
static AttrInt Pango::Attribute::create_attr_fallback ( bool  enable_fallback)
static

Create a new font fallback attribute.

If fallback is disabled, characters will only be used from the closest matching font on the system. No fallback will be done to other fonts on the system that might contain the characters in the text.

Since pangomm 2.42:
Parameters
enable_fallbacktrue if we should fall back on other fonts for characters the active font is missing.
Returns
An attribute of type AttrInt.
static AttrString Pango::Attribute::create_attr_family ( const Glib::ustring family)
static

Create a new font family attribute.

Parameters
familyThe family or comma separated list of families.
Returns
An attribute of type AttrString.
static AttrFontDesc Pango::Attribute::create_attr_font_desc ( const FontDescription desc)
static

Create a new font description attribute.

This attribute allows setting family, style, weight, variant, stretch, and size simultaneously.

Parameters
descThe font description.
Returns
An attribute of type AttrFontDesc.
static AttrString Pango::Attribute::create_attr_font_features ( const Glib::ustring features)
static

Create a new font features tag attribute.

Since pangomm 2.42:
Parameters
featuresA string with OpenType font features, in CSS syntax.
Returns
An attribute of type AttrString.
static AttrColor Pango::Attribute::create_attr_foreground ( guint16  red,
guint16  green,
guint16  blue 
)
static

Create a new foreground color attribute.

Parameters
redThe red value (ranging from 0 to 65535).
greenThe green value (ranging from 0 to 65535).
blueThe blue value (ranging from 0 to 65535).
Returns
An attribute of type AttrColor.
static AttrInt Pango::Attribute::create_attr_foreground_alpha ( guint16  alpha)
static

Create a new foreground alpha attribute.

Parameters
alphaThe alpha value, between 1 and 65536.
static AttrInt Pango::Attribute::create_attr_gravity ( Gravity  gravity)
static

Create a new gravity attribute.

Since pangomm 2.42:
Parameters
gravityThe gravity value; should not be Pango::Gravity::AUTO.
Returns
An attribute of type AttrInt.
static AttrInt Pango::Attribute::create_attr_gravity_hint ( GravityHint  hint)
static

Create a new gravity hint attribute.

Since pangomm 2.42:
Parameters
hintThe gravity hint value.
Returns
An attribute of type AttrInt.
static AttrInt Pango::Attribute::create_attr_insert_hyphens ( bool  insert_hyphens)
static

Create a new insert-hyphens attribute.

Pangomm will insert hyphens when breaking lines in the middle of a word. This attribute can be used to suppress the hyphen.

Since pangomm 2.46:
Parameters
insert_hyphenstrue if hyphens should be inserted.
Returns
An attribute of type AttrInt.
static AttrLanguage Pango::Attribute::create_attr_language ( const Language language)
static

Create a new language tag attribute.

Parameters
languageThe language tag.
Returns
An attribute of type AttrLanguage.
static AttrInt Pango::Attribute::create_attr_letter_spacing ( int  letter_spacing)
static

Create a new letter-spacing attribute.

Since pangomm 2.42:
Parameters
letter_spacingAmount of extra space to add between graphemes of the text, in Pango units.
Returns
An attribute of type AttrInt.
static AttrInt Pango::Attribute::create_attr_overline ( Overline  overline)
static

Create a new overline-style object.

Since pangomm 2.46:
Parameters
overlineThe overline style.
Returns
An attribute of type AttrInt.
static AttrColor Pango::Attribute::create_attr_overline_color ( guint16  red,
guint16  green,
guint16  blue 
)
static

Create a new overline color attribute.

This attribute modifies the color of overlines. If not set, overlines will use the foreground color.

Since pangomm 2.46:
Parameters
redThe red value (ranging from 0 to 65535).
greenThe green value (ranging from 0 to 65535).
blueThe blue value (ranging from 0 to 65535).
Returns
An attribute of type AttrColor.
static AttrInt Pango::Attribute::create_attr_rise ( int  rise)
static

Create a new baseline displacement attribute.

Parameters
riseThe amount that the text should be displaced vertically, in 10'000ths of an em. Positive values displace the text upwards.
Returns
An attribute of type AttrInt.
static AttrFloat Pango::Attribute::create_attr_scale ( double  scale_factor)
static

Create a new font size scale attribute.

The base font for the affected text will have its size multiplied by scale_factor.

Parameters
scale_factorFactor to scale the font.
Returns
An attribute of type AttrFloat.
static AttrShape Pango::Attribute::create_attr_shape ( const Rectangle ink_rect,
const Rectangle logical_rect 
)
static

Create a new shape attribute.

A shape is used to impose a particular ink and logical rect on the result of shaping a particular glyph. This might be used, for instance, for embedding a picture or a widget inside a PangoLayout.

Parameters
ink_rectInk rectangle to assign to each character.
logical_rectLogical rectangle assign to each character.
Returns
An attribute of type AttrShape.
static AttrInt Pango::Attribute::create_attr_show ( ShowFlags  show)
static

Create a new attribute that influences how invisible characters are rendered.

Since pangomm 2.46:
Parameters
flagsPango::ShowFlags to apply.
Returns
An attribute of type AttrInt.
static AttrInt Pango::Attribute::create_attr_size ( int  size)
static

Create a new font-size attribute.

Parameters
sizeThe font size, in 1024ths of a point.
Returns
An attribute of type AttrInt.
static AttrInt Pango::Attribute::create_attr_size_absolute ( int  size)
static

Create a new font-size attribute.

Since pangomm 2.42:
Parameters
sizeThe font size, in 1024ths of a device unit.
Returns
An attribute of type AttrInt.
static AttrInt Pango::Attribute::create_attr_stretch ( Stretch  stretch)
static

Create a new font stretch attribute.

Parameters
stretchThe stretch.
Returns
An attribute of type AttrInt.
static AttrInt Pango::Attribute::create_attr_strikethrough ( bool  strikethrough)
static

Create a new font strike-through attribute.

Parameters
strikethroughTrue indicates the text should be struck-through.
Returns
An attribute of type AttrInt.
static AttrColor Pango::Attribute::create_attr_strikethrough_color ( guint16  red,
guint16  green,
guint16  blue 
)
static

Create a new strikethrough color attribute.

This attribute modifies the color of strikethrough lines. If not set, strikethrough lines will use the foreground color.

Since pangomm 2.42:
Parameters
redThe red value (ranging from 0 to 65535).
greenThe green value (ranging from 0 to 65535).
blueThe blue value (ranging from 0 to 65535).
Returns
An attribute of type AttrColor.
static AttrInt Pango::Attribute::create_attr_style ( Style  style)
static

Create a new font slant style attribute.

Parameters
styleThe slant style.
Returns
An attribute of type AttrInt.
static AttrInt Pango::Attribute::create_attr_underline ( Underline  underline)
static

Create a new underline-style object.

Parameters
underlineThe underline style.
Returns
An attribute of type AttrInt.
static AttrColor Pango::Attribute::create_attr_underline_color ( guint16  red,
guint16  green,
guint16  blue 
)
static

Create a new underline color attribute.

This attribute modifies the color of underlines. If not set, underlines will use the foreground color.

Since pangomm 2.42:
Parameters
redThe red value (ranging from 0 to 65535).
greenThe green value (ranging from 0 to 65535).
blueThe blue value (ranging from 0 to 65535).
Returns
An attribute of type AttrColor.
static AttrInt Pango::Attribute::create_attr_variant ( Variant  variant)
static

Create a new font variant attribute (normal or small caps).

Parameters
variantThe variant.
Returns
An attribute of type AttrInt.
static AttrInt Pango::Attribute::create_attr_weight ( Weight  weight)
static

Create a new font weight attribute.

Parameters
weightThe weight.
Returns
An attribute of type AttrInt.
bool Pango::Attribute::equal ( const Attribute attr2) const

Compare two attributes for equality.

This compares only the actual value of the two attributes and not the ranges that the attributes apply to.

Parameters
attr2Another Pango::Attribute.
Returns
true if the two attributes have the same value.
unsigned int Pango::Attribute::get_end_index ( ) const

Gets the end index of the range.

The character at this index is not included in the range.

Returns
The end index of the range.
unsigned int Pango::Attribute::get_start_index ( ) const

Gets the start index of the range.

Returns
The start index of the range.
AttrType Pango::Attribute::get_type ( ) const

Gets the type ID for this attribute.

Returns
The type ID for this attribute or ATTR_INVALID if the attribute is invalid.
static Glib::ustring Pango::Attribute::get_type_name ( AttrType  type)
static

Fetches the attribute type name passed in when registering the type using register_type().

Since pangomm 2.46:
Parameters
typeAn attribute type ID to fetch the name for.
Returns
The type ID name (which may be an empty string), or an empty string if type is a built-in Pango attribute type or invalid.
PangoAttribute* Pango::Attribute::gobj ( )
inline

Provides access to the underlying C GObject.

const PangoAttribute* Pango::Attribute::gobj ( ) const
inline

Provides access to the underlying C GObject.

Attribute& Pango::Attribute::operator= ( const Attribute src)
static AttrType Pango::Attribute::register_type ( const Glib::ustring name)
static

Allocate a new attribute type ID.

The attribute type name can be accessed later by using get_type_name().

Parameters
nameAn identifier for the type.
Returns
The new type ID.
void Pango::Attribute::set_end_index ( const unsigned int &  value)

Sets the end index of the range.

The character at this index is not included in the range.

Parameters
valueThe new end index (in bytes).
void Pango::Attribute::set_start_index ( const unsigned int &  value)

Sets the start index of the range.

Parameters
valueThe new start index (in bytes).

Friends And Related Function Documentation

bool operator!= ( const Attribute lhs,
const Attribute rhs 
)
related
bool operator== ( const Attribute lhs,
const Attribute rhs 
)
related
Pango::Attribute wrap ( PangoAttribute *  object,
bool  take_copy = false 
)
related

Member Data Documentation

PangoAttribute* Pango::Attribute::gobject_
protected