# CEGUI::FontManager Class Reference

Class providing a shared library of Font objects to the system. More...

List of all members.

## Public Types

typedef ConstBaseIterator< FontRegistry > | FontIterator

## Public Member Functions

| FontManager (void)
| Constructor for FontManager objects.
| ~FontManager (void)
| Destructor for FontManager objects.
Font * | createFont (const String &filename, const String &resourceGroup="")
| Creates a new font from a font definition file, and returns a pointer to the new Font object.
Font * | createFont (const String &name, const String &fontname, uint size, uint flags, const String &resourceGroup="")
| Creates a new Font based on a true-type font, and returns a pointer to the new Font object.
void | destroyFont (const String &name)
| Destroy's the font with the given name.
void | destroyFont (Font *font)
| Destroys the given Font object.
void | destroyAllFonts (void)
| Destroys all Font objects registered in the system.
bool | isFontPresent (const String &name) const
| Checks the existence of a given font.
Font * | getFont (const String &name) const
| Returns a pointer to the font object with the specified name.
void | notifyScreenResolution (const Size &size)
| Notify the FontManager of the current (usually new) display resolution.
void | writeFontToStream (const String &name, OutStream &out_stream) const
| Writes a full XML font file for the specified Font to the given OutStream.
FontIterator | getIterator (void) const
| Return a FontManager::FontIterator object to iterate over the available Font objects.

## Static Public Member Functions

static FontManager & | getSingleton (void)
| Return singleton FontManager object.
static FontManager * | getSingletonPtr (void)
| Return pointer to singleton FontManager object.

## Classes

struct | FontManagerImplData

## Detailed Description

Class providing a shared library of Font objects to the system.

The FontManager is used to create, access, and destroy Font objects. The idea is that the FontManager will function as a central repository for Font objects used within the GUI system, and that those Font objects can be accessed, via a unique name, by any interested party within the system.

## Member Function Documentation

Font * CEGUI::FontManager::createFont | ( | const String & | name,
|  | const String & | fontname,
|  | uint | size,
|  | uint | flags,
|  | const String & | resourceGroup = `""`
| ) |

Creates a new Font based on a true-type font, and returns a pointer to the new Font object.

Parameters:

  | name | String object containing a unique name for the new font.
  | fontname | String object containing the name and path of the true-type font to access.
  | size | Specifies the glyph size (point-size) for the new font.
  | flags | Some combination of FontFlag values to be used for the creation of this font.
  | resourceGroup | Resource group identifier to be passed to the resource provider when loading the font definition file.

Returns:
  Pointer to the newly created Font object.

Exceptions:

  | AlreadyExistsException | thrown if a Font already exists with the name specified, or if a font Imageset clashes with one already defined in the system.
  | GenericException | thrown if something goes wrong while accessing a true-type font referenced in file fontname.
  | RendererException | thrown if the Renderer can't support a texture large enough to hold the requested glyph imagery.
  | MemoryException | thrown if allocation of imagery construction buffer fails.

Font * CEGUI::FontManager::createFont | ( | const String & | filename,
|  | const String & | resourceGroup = `""`
| ) |

Creates a new font from a font definition file, and returns a pointer to the new Font object.

Parameters:

  | filename | String object containing the filename of a 'font definition file' what will be used to create the new font
  | resourceGroup | Resource group identifier to pass to the resource provider when loading the font definition file.

Returns:
  Pointer the the newly created Font object

Exceptions:

  | FileIOException | thrown if there was some problem accessing or parsing the file filename
  | InvalidRequestException | thrown if an invalid filename was provided.
  | AlreadyExistsException | thrown if a Font already exists with the name specified, or if a font Imageset clashes with one already defined in the system.
  | GenericException | thrown if something goes wrong while accessing a true-type font referenced in file filename.
  | RendererException | thrown if the Renderer can't support a texture large enough to hold the requested glyph imagery.
  | MemoryException | thrown if allocation of imagery construction buffer fails.

void CEGUI::FontManager::destroyAllFonts | ( | void |  | ) |

Destroys all Font objects registered in the system.

Returns:
  Nothing

void CEGUI::FontManager::destroyFont | ( | Font * | font | ) |

Destroys the given Font object.

Parameters:

  | font | Pointer to the Font to be destroyed. If no such Font exists, nothing happens.

Returns:
  Nothing.

void CEGUI::FontManager::destroyFont | ( | const String & | name | ) |

Destroy's the font with the given name.

Parameters:

  | name | String object containing the name of the font to be destroyed. If the specified font does not exist, nothing happens.

Returns:
  Nothing

Font * CEGUI::FontManager::getFont | ( | const String & | name | ) | const

Returns a pointer to the font object with the specified name.

Parameters:

  | name | String object containing the name of the Font object to be returned

Returns:
  Pointer to the requested Font object

Exceptions:

  | UnknownObjectException | Thrown if no font with the given name exists.

FontManager & CEGUI::FontManager::getSingleton | ( | void |  | ) | `[static]`

Return singleton FontManager object.

Returns:
  Singleton FontManager object

FontManager * CEGUI::FontManager::getSingletonPtr | ( | void |  | ) | `[static]`

Return pointer to singleton FontManager object.

Returns:
  Pointer to singleton FontManager object

bool CEGUI::FontManager::isFontPresent | ( | const String & | name | ) | const

Checks the existence of a given font.

Parameters:

  | name | String object holding the name of the Font object to look for.

Returns:
  true if a Font object named name exists in the system, false if no such font exists.

void CEGUI::FontManager::notifyScreenResolution | ( | const Size & | size | ) |

Notify the FontManager of the current (usually new) display resolution.

Parameters:

  | size | Size object describing the display resolution

Returns:
  Nothing

void CEGUI::FontManager::writeFontToStream | ( | const String & | name,
|  | OutStream & | out_stream
| ) | const

Writes a full XML font file for the specified Font to the given OutStream.

Parameters:

  | name | String holding the name of the Font to be written to the stream.
  | out_stream | OutStream (std::ostream based) object where data is to be sent.

Returns:
  Nothing.