Public Member Functions | Static Public Member Functions | Protected Attributes | Static Private Attributes

# FontCache Class Reference

Font cache for basic fonts. More...

`#include <fontcache.h>`

Inheritance diagram for FontCache:

## Public Member Functions
| FontCache (FontSize fs)
| Create a new font cache.
virtual | ~FontCache ()
| Clean everything up.
FontSize | GetSize () const
| Get the FontSize of the font.
int | GetHeight () const
| Get the height of the font.
int | GetAscender () const
| Get the ascender value of the font.
int | GetDescender () const
| Get the descender value of the font.
int | GetUnitsPerEM () const
| Get the units per EM value of the font.
virtual SpriteID | GetUnicodeGlyph (WChar key)=0
| Get the SpriteID mapped to the given key.
virtual void | SetUnicodeGlyph (WChar key, SpriteID sprite)=0
| Map a SpriteID to the key.
virtual void | InitializeUnicodeGlyphMap ()=0
| Initialize the glyph map.
virtual void | ClearFontCache ()=0
| Clear the font cache.
virtual const Sprite * | GetGlyph (GlyphID key)=0
| Get the glyph (sprite) of the given key.
virtual uint | GetGlyphWidth (GlyphID key)=0
| Get the width of the glyph with the given key.
virtual bool | GetDrawGlyphShadow ()=0
| Do we need to draw a glyph shadow?
virtual GlyphID | MapCharToGlyph (WChar key)=0
| Map a character into a glyph.
virtual const void * | GetFontTable (uint32 tag, size_t &length)=0
| Read a font table from the font.
virtual const char * | GetFontName ()=0
| Get the name of this font.
bool | HasParent ()
| Check whether the font cache has a parent.
## Static Public Member Functions
static FontCache * | Get (FontSize fs)
| Get the font cache of a given font size.
## Protected Attributes
FontCache * | parent
| The parent of this font cache.
const FontSize | fs
| The size of the font.
int | height
| The height of the font.
int | ascender
| The ascender value of the font.
int | descender
| The descender value of the font.
int | units_per_em
| The units per EM value of the font.
## Static Private Attributes
static FontCache * | caches [FS_END] = { new SpriteFontCache(FS_NORMAL), new SpriteFontCache(FS_SMALL), new SpriteFontCache(FS_LARGE), new SpriteFontCache(FS_MONO) }
| All the font caches.

## Detailed Description

Font cache for basic fonts.

Definition at line 23 of file fontcache.h.

## Constructor & Destructor Documentation

FontCache::FontCache | ( | FontSize | fs | ) |

Create a new font cache.

Parameters:

  | fs | The size of the font.

Definition at line 37 of file fontcache.cpp.

References caches, fs, parent, and Layouter::ResetFontCache().

FontCache::~FontCache | ( |  | ) | `[virtual]`

Clean everything up.

Definition at line 47 of file fontcache.cpp.

References caches, fs, parent, and Layouter::ResetFontCache().

## Member Function Documentation

virtual void FontCache::ClearFontCache | ( |  | ) | `[pure virtual]`

Clear the font cache.

Implemented in SpriteFontCache, and FreeTypeFontCache.

static FontCache* FontCache::Get | ( | FontSize | fs | ) | `[inline, static]`

Get the font cache of a given font size.

Parameters:

  | fs | The font size to look up.

Returns:
  The font cache.

Definition at line 133 of file fontcache.h.

References caches.

Referenced by GetCharacterHeight(), GetGlyph(), GetGlyphWidth(), GetUnicodeGlyph(), InitFreeType(), InitializeUnicodeGlyphMap(), CrashLog::LogConfiguration(), SetUnicodeGlyph(), and UninitFreeType().

int FontCache::GetAscender | ( |  | ) | const`[inline]`

Get the ascender value of the font.

Returns:
  The ascender value of the font.

Definition at line 53 of file fontcache.h.

References ascender.

int FontCache::GetDescender | ( |  | ) | const`[inline]`

Get the descender value of the font.

Returns:
  The descender value of the font.

Definition at line 59 of file fontcache.h.

References descender.

virtual bool FontCache::GetDrawGlyphShadow | ( |  | ) | `[pure virtual]`

Do we need to draw a glyph shadow?

Returns:
  True if it has to be done, otherwise false.

Implemented in SpriteFontCache, and FreeTypeFontCache.

Referenced by DrawLayoutLine().

virtual const char* FontCache::GetFontName | ( |  | ) | `[pure virtual]`

Get the name of this font.

Returns:
  The name of the font.

Implemented in SpriteFontCache, and FreeTypeFontCache.

virtual const void* FontCache::GetFontTable | ( | uint32 | tag,
|  | size_t & | length |
| ) |  |  | `[pure virtual]`

Read a font table from the font.

Parameters:

  | tag | The of the table to load.
  | length | The length of the read data.

Returns:
  The loaded table data.

Implemented in SpriteFontCache, and FreeTypeFontCache.

virtual const Sprite* FontCache::GetGlyph | ( | GlyphID | key | ) | `[pure virtual]`

Get the glyph (sprite) of the given key.

Parameters:

  | key | The key to look up.

Returns:
  The sprite.

Implemented in SpriteFontCache, and FreeTypeFontCache.

Referenced by DrawLayoutLine(), GetGlyph(), and FreeTypeFontCache::GetGlyph().

virtual uint FontCache::GetGlyphWidth | ( | GlyphID | key | ) | `[pure virtual]`

Get the width of the glyph with the given key.

Parameters:

  | key | The key to look up.

Returns:
  The width.

Implemented in SpriteFontCache, and FreeTypeFontCache.

Referenced by DrawLayoutLine(), GetGlyphWidth(), and FreeTypeFontCache::GetGlyphWidth().

int FontCache::GetHeight | ( |  | ) | const`[inline]`

Get the height of the font.

Returns:
  The height of the font.

Definition at line 47 of file fontcache.h.

References height.

Referenced by GetCharacterHeight().

FontSize FontCache::GetSize | ( |  | ) | const`[inline]`

Get the FontSize of the font.

Returns:
  The FontSize.

Definition at line 41 of file fontcache.h.

References fs.

Referenced by FallbackParagraphLayout::NextLine().

virtual SpriteID FontCache::GetUnicodeGlyph | ( | WChar | key | ) | `[pure virtual]`

Get the SpriteID mapped to the given key.

Parameters:

  | key | The key to get the sprite for.

Returns:
  The sprite.

Implemented in SpriteFontCache, and FreeTypeFontCache.

Referenced by GetUnicodeGlyph(), and FreeTypeFontCache::GetUnicodeGlyph().

int FontCache::GetUnitsPerEM | ( |  | ) | const`[inline]`

Get the units per EM value of the font.

Returns:
  The units per EM value of the font.

Definition at line 65 of file fontcache.h.

References units_per_em.

virtual GlyphID FontCache::MapCharToGlyph | ( | WChar | key | ) | `[pure virtual]`

Map a character into a glyph.

Parameters:

  | key | The character.

Returns:
  The glyph ID used to draw the character.

Implemented in SpriteFontCache, and FreeTypeFontCache.

Referenced by DrawLayoutLine(), GetGlyph(), GetGlyphWidth(), and FreeTypeFontCache::MapCharToGlyph().

virtual void FontCache::SetUnicodeGlyph | ( | WChar | key,
|  | SpriteID | sprite |
| ) |  |  | `[pure virtual]`

Map a SpriteID to the key.

Parameters:

  | key | The key to map to.
  | sprite | The sprite that is being mapped.

Implemented in SpriteFontCache, and FreeTypeFontCache.

Referenced by SetUnicodeGlyph(), and FreeTypeFontCache::SetUnicodeGlyph().

The documentation for this class was generated from the following files:

- src/fontcache.h
- src/fontcache.cpp