OpenTTD Source 20251213-master-g1091fa6071
MockFontCache Class Reference

Font cache for mocking basic use of fonts. More...

#include <mock_fontcache.h>

Inheritance diagram for MockFontCache:
FontCache

Public Member Functions

 MockFontCache (FontSize fs)
 
void ClearFontCache () override
 Clear the font cache.
 
const SpriteGetGlyph (GlyphID) override
 Get the glyph (sprite) of the given key.
 
uint GetGlyphWidth (GlyphID) 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) 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
FontSize GetSize () const
 Get the FontSize of the font.
 
FontIndex GetIndex () const
 
FontLoadReason GetFontLoadReason () const
 
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.
 
virtual int GetGlyphYOffset ()
 

Static Public Member Functions

static void InitializeFontCaches ()
 
- Static Public Member Functions inherited from FontCache
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 int GetFontBaseline (FontSize fs)
 
static void AddFallback (FontSizes fontsizes, FontLoadReason load_reason, std::string_view name, std::span< const std::byte > os_data={})
 Add a fallback font, with optional OS-specific handle.
 
template<typename T >
static void AddFallbackWithHandle (FontSizes fontsizes, FontLoadReason load_reason, std::string_view name, T &handle)
 Add a fallback font, with OS-specific handle.
 
static std::span< const std::unique_ptr< FontCache > > Get ()
 Get span of all FontCaches.
 
static FontCacheGet (FontIndex font_index)
 Get the font cache of a given font size.
 
static int GetCharacterHeight (FontSize fs)
 
static void UpdateCharacterHeight (FontSize fs)
 
static FontIndex GetDefaultFontIndex (FontSize fs)
 
static class FontCacheGetDefaultFontCache (FontSize fs)
 
static FontIndex GetFontIndexForCharacter (FontSize fs, char32_t c)
 

Additional Inherited Members

- Static Public Attributes inherited from FontCache
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, 6, 15, 8}
 Default unscaled font ascenders.
 
- Protected Types inherited from FontCache
using FontCaches = std::vector< std::unique_ptr< FontCache > >
 
- Protected Member Functions inherited from FontCache
 FontCache (FontSize fs)
 
- Static Protected Member Functions inherited from FontCache
static void Register (std::unique_ptr< FontCache > &&fc, FontLoadReason load_reason)
 
static void LoadDefaultFonts (FontSize fs)
 
static void LoadFallbackFonts (FontSize fs, FontLoadReason load_reason)
 
- Protected Attributes inherited from FontCache
const FontSize fs
 The size of the font.
 
FontIndex font_index
 The index of the font.
 
FontLoadReason load_reason
 Reason why the font is loaded.
 
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 Protected Attributes inherited from FontCache
static FontCaches caches
 
static std::array< FontMetrics, FS_END > metrics {}
 
static std::array< FontIndex, FS_END > default_font_index {}
 

Detailed Description

Font cache for mocking basic use of fonts.

Definition at line 17 of file mock_fontcache.h.

Constructor & Destructor Documentation

◆ MockFontCache()

MockFontCache::MockFontCache ( FontSize  fs)
inline

Definition at line 19 of file mock_fontcache.h.

Member Function Documentation

◆ ClearFontCache()

void MockFontCache::ClearFontCache ( )
inlineoverridevirtual

Clear the font cache.

Implements FontCache.

Definition at line 24 of file mock_fontcache.h.

◆ GetDrawGlyphShadow()

bool MockFontCache::GetDrawGlyphShadow ( )
inlineoverridevirtual

Do we need to draw a glyph shadow?

Returns
True if it has to be done, otherwise false.

Implements FontCache.

Definition at line 27 of file mock_fontcache.h.

◆ GetFontName()

std::string MockFontCache::GetFontName ( )
inlineoverridevirtual

Get the name of this font.

Returns
The name of the font.

Implements FontCache.

Definition at line 29 of file mock_fontcache.h.

◆ GetGlyph()

const Sprite * MockFontCache::GetGlyph ( GlyphID  key)
inlineoverridevirtual

Get the glyph (sprite) of the given key.

Parameters
keyThe key to look up.
Returns
The sprite.

Implements FontCache.

Definition at line 25 of file mock_fontcache.h.

◆ GetGlyphWidth()

uint MockFontCache::GetGlyphWidth ( GlyphID  key)
inlineoverridevirtual

Get the width of the glyph with the given key.

Parameters
keyThe key to look up.
Returns
The width.

Implements FontCache.

Definition at line 26 of file mock_fontcache.h.

References FontCache::height.

◆ InitializeFontCaches()

static void MockFontCache::InitializeFontCaches ( )
inlinestatic

Definition at line 32 of file mock_fontcache.h.

◆ IsBuiltInFont()

bool MockFontCache::IsBuiltInFont ( )
inlineoverridevirtual

Is this a built-in sprite font?

Implements FontCache.

Definition at line 30 of file mock_fontcache.h.

◆ MapCharToGlyph()

GlyphID MockFontCache::MapCharToGlyph ( char32_t  key)
inlineoverridevirtual

Map a character into a glyph.

Parameters
keyThe character.
Returns
The glyph ID used to draw the character.

Implements FontCache.

Definition at line 28 of file mock_fontcache.h.


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