OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

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.
virtual 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 40 of file fontcache.cpp.

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

FontCache::~FontCache | ( |  | ) |
| virtual

Clean everything up.

Definition at line 50 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 FreeTypeFontCache, and SpriteFontCache.

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, and fs.

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 FreeTypeFontCache, and SpriteFontCache.

Referenced by DrawLayoutLine().

virtual const char* FontCache::GetFontName | ( |  | ) |
| pure virtual

Get the name of this font.

Returns
  The name of the font.

Implemented in FreeTypeFontCache, and SpriteFontCache.

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 FreeTypeFontCache, and SpriteFontCache.

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 FreeTypeFontCache, and SpriteFontCache.

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 FreeTypeFontCache, and SpriteFontCache.

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

virtual int FontCache::GetHeight | ( |  | ) | const
| inline virtual

Get the height of the font.

Returns
  The height of the font.

Reimplemented in SpriteFontCache.

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 FreeTypeFontCache, and SpriteFontCache.

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 FreeTypeFontCache, and SpriteFontCache.

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 FreeTypeFontCache, and SpriteFontCache.

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

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

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