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

A Pango::FontMap represents the set of fonts available for a particular rendering system. More...

#include <pangomm/fontmap.h>

Inheritance diagram for Pango::FontMap:
Inheritance graph
[legend]

Public Member Functions

 FontMap (FontMap && src) noexcept
 
FontMapoperator= (FontMap && src) noexcept
 
 ~FontMap () noexcept override
 
PangoFontMap * gobj ()
 Provides access to the underlying C GObject. More...
 
const PangoFontMap * gobj () const
 Provides access to the underlying C GObject. More...
 
PangoFontMap * gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
 
Glib::RefPtr< Fontload_font (const Glib::RefPtr< Context > & context, const FontDescription & desc) const
 Load the font in the fontmap that is the closest match for desc. More...
 
Glib::RefPtr< Fontsetload_fontset (const Glib::RefPtr< Context > & context, const FontDescription & desc, const Language & language) const
 Load a set of fonts in the fontmap that can be used to render a font matching desc. More...
 
Glib::RefPtr< Contextcreate_context ()
 Creates a Pango::Context connected to fontmap. More...
 
std::vector< Glib::RefPtr< FontFamily > > list_families () const
 List all families for the fontmap. More...
 
guint get_serial () const
 Returns the current serial number of fontmap. More...
 
Glib::RefPtr< FontFamilyget_family (const Glib::ustring & name)
 Gets a font family by name. More...
 
Glib::RefPtr< const FontFamilyget_family (const Glib::ustring & name) const
 Gets a font family by name. More...
 
Glib::RefPtr< Fontreload_font (const Glib::RefPtr< Font > & font, double scale, const Glib::RefPtr< Context > & context={}, const Glib::ustring & variations={}) const
 Returns a new font that is like font, except that its size is multiplied by scale, its backend-dependent configuration (e.g. cairo font options) is replaced by the one in context, and its variations are replaced by variations. More...
 
Glib::PropertyProxy_ReadOnly< GType > property_item_type () const
 The type of items contained in this list. More...
 
Glib::PropertyProxy_ReadOnly< unsigned int > property_n_items () const
 The number of items contained in this list. More...
 

Static Public Member Functions

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

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Pango::FontMapwrap (PangoFontMap * object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

Detailed Description

A Pango::FontMap represents the set of fonts available for a particular rendering system.

This is an abstract base class with implementations being specific to particular rendering systems.

See also
Pango::CairoFontMap::get_default()

Constructor & Destructor Documentation

◆ FontMap()

Pango::FontMap::FontMap ( FontMap &&  src)
noexcept

◆ ~FontMap()

Pango::FontMap::~FontMap ( )
overridenoexcept

Member Function Documentation

◆ create_context()

Glib::RefPtr< Context > Pango::FontMap::create_context ( )

Creates a Pango::Context connected to fontmap.

This is equivalent to Pango::Context::new() followed by Pango::Context::set_font_map().

If you are using Pango as part of a higher-level system, that system may have it's own way of create a Pango::Context. For instance, the GTK toolkit has, among others, gtk_widget_get_pango_context(). Use those instead.

Since pangomm 1.22:
Returns
The newly allocated Pango::Context, which should be freed with Glib::object_unref().

◆ get_family() [1/2]

Glib::RefPtr< FontFamily > Pango::FontMap::get_family ( const Glib::ustring &  name)

Gets a font family by name.

Since pangomm 2.50:
Parameters
nameA family name.
Returns
The Pango::FontFamily.

◆ get_family() [2/2]

Glib::RefPtr< const FontFamily > Pango::FontMap::get_family ( const Glib::ustring &  name) const

Gets a font family by name.

Since pangomm 2.50:
Parameters
nameA family name.
Returns
The Pango::FontFamily.

◆ get_serial()

guint Pango::FontMap::get_serial ( ) const

Returns the current serial number of fontmap.

The serial number is initialized to an small number larger than zero when a new fontmap is created and is increased whenever the fontmap is changed. It may wrap, but will never have the value 0. Since it can wrap, never compare it with "less than", always use "not equals".

The fontmap can only be changed using backend-specific API, like changing fontmap resolution.

This can be used to automatically detect changes to a Pango::FontMap, like in Pango::Context.

Since pangomm 1.32.4:
Returns
The current serial number of fontmap.

◆ get_type()

static GType Pango::FontMap::get_type ( )
static

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

◆ gobj() [1/2]

PangoFontMap * Pango::FontMap::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const PangoFontMap * Pango::FontMap::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ gobj_copy()

PangoFontMap * Pango::FontMap::gobj_copy ( )

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

◆ list_families()

std::vector< Glib::RefPtr< FontFamily > > Pango::FontMap::list_families ( ) const

List all families for the fontmap.

Returns
an array of pointers to Pango::FontFamily objects.

◆ load_font()

Glib::RefPtr< Font > Pango::FontMap::load_font ( const Glib::RefPtr< Context > &  context,
const FontDescription desc 
) const

Load the font in the fontmap that is the closest match for desc.

Parameters
contextThe Pango::Context the font will be used with.
descA Pango::FontDescription describing the font to load.
Returns
The newly allocated Pango::Font loaded, or nullptr if no font matched.

◆ load_fontset()

Glib::RefPtr< Fontset > Pango::FontMap::load_fontset ( const Glib::RefPtr< Context > &  context,
const FontDescription desc,
const Language language 
) const

Load a set of fonts in the fontmap that can be used to render a font matching desc.

Parameters
contextThe Pango::Context the font will be used with.
descA Pango::FontDescription describing the font to load.
languageA Pango::Language the fonts will be used for.
Returns
The newly allocated Pango::Fontset loaded, or nullptr if no font matched.

◆ operator=()

FontMap & Pango::FontMap::operator= ( FontMap &&  src)
noexcept

◆ property_item_type()

Glib::PropertyProxy_ReadOnly< GType > Pango::FontMap::property_item_type ( ) const

The type of items contained in this list.

Since pangomm 2.52:
Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_n_items()

Glib::PropertyProxy_ReadOnly< unsigned int > Pango::FontMap::property_n_items ( ) const

The number of items contained in this list.

Since pangomm 2.52:

Default value: 0

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ reload_font()

Glib::RefPtr< Font > Pango::FontMap::reload_font ( const Glib::RefPtr< Font > &  font,
double  scale,
const Glib::RefPtr< Context > &  context = {},
const Glib::ustring &  variations = {} 
) const

Returns a new font that is like font, except that its size is multiplied by scale, its backend-dependent configuration (e.g. cairo font options) is replaced by the one in context, and its variations are replaced by variations.

Since pangomm 1.52:
Parameters
fontA font in fontmap.
scaleThe scale factor to apply.
contextA Pango::Context.
variationsFont variations to use.
Returns
The modified font.

Friends And Related Function Documentation

◆ wrap()

Glib::RefPtr< Pango::FontMap > wrap ( PangoFontMap *  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.