|
OpenTTD Source 15.0-beta1
|
Font cache for fonts that are based on a TrueType font. More...
#include <truetypefontcache.h>
Data Structures | |
| struct | GlyphEntry |
| Container for information about a glyph. More... | |
Public Member Functions | |
| TrueTypeFontCache (FontSize fs, int pixels) | |
| Create a new TrueTypeFontCache. | |
| virtual | ~TrueTypeFontCache () |
| Free everything that was allocated for this font cache. | |
| int | GetFontSize () const override |
| Get the nominal font size of the font. | |
| void | SetUnicodeGlyph (char32_t key, SpriteID sprite) override |
| Map a SpriteID to the key. | |
| void | InitializeUnicodeGlyphMap () override |
| Initialize the glyph map. | |
| const Sprite * | GetGlyph (GlyphID key) override |
| Get the glyph (sprite) of the given key. | |
| void | ClearFontCache () override |
| Reset cached glyphs. | |
| 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? | |
| 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 GlyphID | MapCharToGlyph (char32_t key, bool fallback=true)=0 |
| Map a character into a glyph. | |
| virtual const void * | GetOSHandle () |
| Get the native OS font handle, if there is one. | |
| virtual std::string | GetFontName ()=0 |
| Get the name of this font. | |
| bool | HasParent () |
| Check whether the font cache has a parent. | |
Protected Member Functions | |
| GlyphEntry * | GetGlyphPtr (GlyphID key) |
| GlyphEntry & | SetGlyphPtr (GlyphID key, GlyphEntry &&glyph) |
| virtual const Sprite * | InternalGetGlyph (GlyphID key, bool aa)=0 |
Protected Attributes | |
| int | req_size |
| Requested font size. | |
| int | used_size |
| Used font size. | |
| std::unordered_map< GlyphID, GlyphEntry > | glyph_to_sprite_map {} |
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 | |
| static constexpr int | MAX_GLYPH_DIM = 256 |
| Maximum glyph dimensions. | |
| static constexpr uint | MAX_FONT_MIN_REC_SIZE = 20u |
| Upper limit for the recommended font size in case a font file contains nonsensical values. | |
Static Protected Attributes inherited from FontCache | |
| static FontCache * | caches [FS_END] |
| All the font caches. | |
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. | |
Font cache for fonts that are based on a TrueType font.
Definition at line 22 of file truetypefontcache.h.
| TrueTypeFontCache::TrueTypeFontCache | ( | FontSize | fs, |
| int | pixels | ||
| ) |
Create a new TrueTypeFontCache.
| fs | The font size that is going to be cached. |
| pixels | The number of pixels this font should be high. |
Definition at line 24 of file truetypefontcache.cpp.
|
virtual |
Free everything that was allocated for this font cache.
Definition at line 31 of file truetypefontcache.cpp.
References ClearFontCache().
|
overridevirtual |
Reset cached glyphs.
Implements FontCache.
Reimplemented in Win32FontCache.
Definition at line 40 of file truetypefontcache.cpp.
References FontCache::fs, and Layouter::ResetFontCache().
Referenced by FreeTypeFontCache::ClearFontCache(), CoreTextFontCache::ClearFontCache(), Win32FontCache::ClearFontCache(), and ~TrueTypeFontCache().
|
overridevirtual |
Do we need to draw a glyph shadow?
Implements FontCache.
Definition at line 60 of file truetypefontcache.cpp.
References FontCache::fs, and FS_NORMAL.
|
inlineoverridevirtual |
Get the nominal font size of the font.
Reimplemented from FontCache.
Definition at line 48 of file truetypefontcache.h.
References used_size.
Get the glyph (sprite) of the given key.
| key | The key to look up. |
Implements FontCache.
Definition at line 78 of file truetypefontcache.cpp.
References TrueTypeFontCache::GlyphEntry::data, FontCache::GetGlyph(), and FontCache::parent.
Referenced by GetGlyphWidth().
|
protected |
Definition at line 47 of file truetypefontcache.cpp.
|
overridevirtual |
Get the width of the glyph with the given key.
| key | The key to look up. |
Implements FontCache.
Definition at line 65 of file truetypefontcache.cpp.
References TrueTypeFontCache::GlyphEntry::data, GetGlyph(), FontCache::GetGlyphWidth(), FontCache::parent, and TrueTypeFontCache::GlyphEntry::width.
|
inlineoverridevirtual |
Initialize the glyph map.
Implements FontCache.
Definition at line 50 of file truetypefontcache.h.
References FontCache::InitializeUnicodeGlyphMap(), and FontCache::parent.
|
inlineoverridevirtual |
Is this a built-in sprite font?
Implements FontCache.
Definition at line 55 of file truetypefontcache.h.
|
protected |
Definition at line 54 of file truetypefontcache.cpp.
|
inlineoverridevirtual |
Map a SpriteID to the key.
| key | The key to map to. |
| sprite | The sprite that is being mapped. |
Implements FontCache.
Definition at line 49 of file truetypefontcache.h.
References FontCache::parent, and FontCache::SetUnicodeGlyph().
|
protected |
Definition at line 38 of file truetypefontcache.h.
|
staticconstexprprotected |
Upper limit for the recommended font size in case a font file contains nonsensical values.
Definition at line 25 of file truetypefontcache.h.
|
staticconstexprprotected |
Maximum glyph dimensions.
Definition at line 24 of file truetypefontcache.h.
|
protected |
Requested font size.
Definition at line 27 of file truetypefontcache.h.
Referenced by FreeTypeFontCache::ClearFontCache(), CoreTextFontCache::ClearFontCache(), and Win32FontCache::ClearFontCache().
|
protected |