OpenTTD Source 20241224-master-gee860a5c8e
|
Font cache for fonts that are based on a freetype font. More...
#include <spritefontcache.h>
Public Member Functions | |
SpriteFontCache (FontSize fs) | |
Create a new sprite font cache. | |
void | SetUnicodeGlyph (char32_t key, SpriteID sprite) override |
Map a SpriteID to the key. | |
void | InitializeUnicodeGlyphMap () override |
Initialize the glyph map. | |
void | ClearFontCache () override |
Clear the font cache. | |
const Sprite * | GetGlyph (GlyphID key) override |
Get the glyph (sprite) of the given key. | |
uint | GetGlyphWidth (GlyphID key) override |
Get the width of the glyph with the given key. | |
bool | GetDrawGlyphShadow () override |
Do we need to draw a glyph shadow? | |
GlyphID | MapCharToGlyph (char32_t key, bool allow_fallback=true) override |
Map a character into a glyph. | |
std::string | GetFontName () override |
Get the name of this font. | |
bool | IsBuiltInFont () override |
Is this a built-in sprite font? | |
Public Member Functions inherited from FontCache | |
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. | |
virtual int | GetFontSize () const |
Get the nominal font size of the font. | |
virtual const void * | GetOSHandle () |
Get the native OS font handle, if there is one. | |
bool | HasParent () |
Check whether the font cache has a parent. | |
Private Member Functions | |
SpriteID | GetUnicodeGlyph (GlyphID key) |
Get SpriteID associated with a GlyphID. | |
Private Attributes | |
std::unordered_map< GlyphID, SpriteID > | glyph_to_spriteid_map {} |
Mapping of glyphs to sprite IDs. | |
Additional Inherited Members | |
Static Public Member Functions inherited from FontCache | |
static void | InitializeFontCaches () |
static int | GetDefaultFontHeight (FontSize fs) |
static FontCache * | Get (FontSize fs) |
Get the font cache of a given font size. | |
static std::string | GetName (FontSize fs) |
Get the font name of a given font size. | |
Protected Attributes inherited from FontCache | |
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. | |
Static Protected Attributes inherited from FontCache | |
static FontCache * | caches [FS_END] |
All the font caches. | |
Font cache for fonts that are based on a freetype font.
Definition at line 17 of file spritefontcache.h.
SpriteFontCache::SpriteFontCache | ( | FontSize | fs | ) |
Create a new sprite font cache.
fs | The font size to create the cache for. |
Definition at line 38 of file spritefontcache.cpp.
References FontCache::ascender, FontCache::height, InitializeUnicodeGlyphMap(), ScaleFontTrad(), and ScaleGUITrad().
|
overridevirtual |
Clear the font cache.
Implements FontCache.
Definition at line 97 of file spritefontcache.cpp.
References FontCache::ascender, FontCache::fs, FontCache::height, Layouter::ResetFontCache(), ScaleFontTrad(), and ScaleGUITrad().
|
overridevirtual |
Do we need to draw a glyph shadow?
Implements FontCache.
Definition at line 126 of file spritefontcache.cpp.
|
inlineoverridevirtual |
Get the name of this font.
Implements FontCache.
Definition at line 27 of file spritefontcache.h.
Get the glyph (sprite) of the given key.
key | The key to look up. |
Implements FontCache.
Definition at line 104 of file spritefontcache.cpp.
References Font, and GetUnicodeGlyph().
|
overridevirtual |
Get the width of the glyph with the given key.
key | The key to look up. |
Implements FontCache.
Definition at line 111 of file spritefontcache.cpp.
References Font, FontCache::fs, FS_NORMAL, GetUnicodeGlyph(), ScaleFontTrad(), and Sprite::width.
Get SpriteID associated with a GlyphID.
key | Glyph to find. |
Definition at line 50 of file spritefontcache.cpp.
References glyph_to_spriteid_map.
Referenced by GetGlyph(), GetGlyphWidth(), and MapCharToGlyph().
|
overridevirtual |
Initialize the glyph map.
Implements FontCache.
Definition at line 62 of file spritefontcache.cpp.
References ASCII_LETTERSTART, CLRA, FontCache::fs, FS_LARGE, FS_MONO, FS_NORMAL, FS_SMALL, glyph_to_spriteid_map, and SetUnicodeGlyph().
Referenced by SpriteFontCache().
|
inlineoverridevirtual |
Is this a built-in sprite font?
Implements FontCache.
Definition at line 28 of file spritefontcache.h.
|
overridevirtual |
Map a character into a glyph.
key | The character. |
fallback | Allow fallback to the parent font. |
Implements FontCache.
Definition at line 118 of file spritefontcache.cpp.
References GetUnicodeGlyph().
|
overridevirtual |
Map a SpriteID to the key.
key | The key to map to. |
sprite | The sprite that is being mapped. |
Implements FontCache.
Definition at line 57 of file spritefontcache.cpp.
References glyph_to_spriteid_map.
Referenced by InitializeUnicodeGlyphMap().
Mapping of glyphs to sprite IDs.
Definition at line 31 of file spritefontcache.h.
Referenced by GetUnicodeGlyph(), InitializeUnicodeGlyphMap(), and SetUnicodeGlyph().