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:
FreeTypeFontCache SpriteFontCache

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 SpriteGetGlyph (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 FontCacheGet (FontSize fs)
 Get the font cache of a given font size.

Protected Attributes

FontCacheparent
 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 FontCachecaches [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: