OpenTTD Source 20250808-master-gc8a07fe90b
|
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 | 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? | |
![]() | |
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. | |
Additional Inherited Members | |
![]() | |
static void | InitializeFontCaches () |
Initialise font caches with the base sprite font cache for all sizes. | |
static void | UninitializeFontCaches () |
Free everything allocated w.r.t. | |
static void | LoadFontCaches (FontSizes fontsizes) |
(Re)initialize the font cache related things, i.e. | |
static void | ClearFontCaches (FontSizes fontsizes) |
Clear cached information for the specified font caches. | |
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. | |
![]() | |
static const int | DEFAULT_FONT_HEIGHT [FS_END] = {10, 6, 18, 10} |
Default unscaled font heights. | |
static const int | DEFAULT_FONT_ASCENDER [FS_END] = {8, 5, 15, 8} |
Default unscaled font ascenders. | |
![]() | |
FontCache (FontSize fs) | |
![]() | |
static void | Register (std::unique_ptr< FontCache > &&fc) |
Register a FontCache for its font size. | |
![]() | |
std::unique_ptr< FontCache > | parent |
The parent of this font cache. | |
const FontSize | fs |
The size of the font. | |
int | height = 0 |
The height of the font. | |
int | ascender = 0 |
The ascender value of the font. | |
int | descender = 0 |
The descender value of the font. | |
![]() | |
static std::array< std::unique_ptr< FontCache >, FS_END > | caches {} |
All the font caches. | |
Font cache for fonts that are based on a freetype font.
Definition at line 16 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 115 of file spritefontcache.cpp.
References FontCache::ascender, FontCache::height, ScaleFontTrad(), and ScaleGUITrad().
|
overridevirtual |
Clear the font cache.
Implements FontCache.
Definition at line 121 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 150 of file spritefontcache.cpp.
|
inlineoverridevirtual |
Get the name of this font.
Implements FontCache.
Definition at line 24 of file spritefontcache.h.
Get the glyph (sprite) of the given key.
key | The key to look up. |
Implements FontCache.
Definition at line 128 of file spritefontcache.cpp.
References Font, FontCache::fs, and GetUnicodeGlyph().
|
overridevirtual |
Get the width of the glyph with the given key.
key | The key to look up. |
Implements FontCache.
Definition at line 135 of file spritefontcache.cpp.
References Font, FontCache::fs, FS_NORMAL, GetUnicodeGlyph(), ScaleFontTrad(), and Sprite::width.
|
inlineoverridevirtual |
Is this a built-in sprite font?
Implements FontCache.
Definition at line 25 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 142 of file spritefontcache.cpp.
References FontCache::fs, and GetUnicodeGlyph().