OpenTTD Source 20241224-master-gee860a5c8e
CoreTextFontCache Class Reference
Inheritance diagram for CoreTextFontCache:
TrueTypeFontCache FontCache

Public Member Functions

 CoreTextFontCache (FontSize fs, CFAutoRelease< CTFontDescriptorRef > &&font, int pixels)
 
void ClearFontCache () override
 Reset cached glyphs.
 
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?
 
const void * GetOSHandle () override
 Get the native OS font handle, if there is one.
 
- Public Member Functions inherited from TrueTypeFontCache
 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 SpriteGetGlyph (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.
 
bool HasParent ()
 Check whether the font cache has a parent.
 

Private Member Functions

void SetFontSize (int pixels)
 
const SpriteInternalGetGlyph (GlyphID key, bool use_aa) override
 

Private Attributes

CFAutoRelease< CTFontDescriptorRef > font_desc
 Font descriptor exlcuding font size.
 
CFAutoRelease< CTFontRef > font
 CoreText font handle.
 
std::string font_name
 Cached font name.
 

Additional Inherited Members

- Static Public Member Functions inherited from FontCache
static void InitializeFontCaches ()
 
static int GetDefaultFontHeight (FontSize fs)
 
static FontCacheGet (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 Member Functions inherited from TrueTypeFontCache
GlyphEntryGetGlyphPtr (GlyphID key)
 
GlyphEntrySetGlyphPtr (GlyphID key, GlyphEntry &&glyph)
 
- Protected Attributes inherited from TrueTypeFontCache
int req_size
 Requested font size.
 
int used_size
 Used font size.
 
std::unordered_map< GlyphID, GlyphEntryglyph_to_sprite_map {}
 
- Protected Attributes inherited from FontCache
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.
 
- Static Protected Attributes inherited from TrueTypeFontCache
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 FontCachecaches [FS_END]
 All the font caches.
 

Detailed Description

Definition at line 18 of file font_osx.h.

Constructor & Destructor Documentation

◆ CoreTextFontCache()

CoreTextFontCache::CoreTextFontCache ( FontSize  fs,
CFAutoRelease< CTFontDescriptorRef > &&  font,
int  pixels 
)

Definition at line 111 of file font_osx.cpp.

◆ ~CoreTextFontCache()

CoreTextFontCache::~CoreTextFontCache ( )
inline

Definition at line 28 of file font_osx.h.

Member Function Documentation

◆ ClearFontCache()

void CoreTextFontCache::ClearFontCache ( )
overridevirtual

Reset cached glyphs.

Implements FontCache.

Definition at line 119 of file font_osx.cpp.

References TrueTypeFontCache::ClearFontCache(), font, and TrueTypeFontCache::req_size.

◆ GetFontName()

std::string CoreTextFontCache::GetFontName ( )
inlineoverridevirtual

Get the name of this font.

Returns
The name of the font.

Implements FontCache.

Definition at line 32 of file font_osx.h.

References font_name.

◆ GetOSHandle()

const void * CoreTextFontCache::GetOSHandle ( )
inlineoverridevirtual

Get the native OS font handle, if there is one.

Returns
Opaque OS font handle.

Reimplemented from FontCache.

Definition at line 34 of file font_osx.h.

References font.

◆ InternalGetGlyph()

const Sprite * CoreTextFontCache::InternalGetGlyph ( GlyphID  key,
bool  use_aa 
)
overrideprivatevirtual

Implements TrueTypeFontCache.

Definition at line 207 of file font_osx.cpp.

◆ IsBuiltInFont()

bool CoreTextFontCache::IsBuiltInFont ( )
inlineoverridevirtual

Is this a built-in sprite font?

Implements FontCache.

Definition at line 33 of file font_osx.h.

◆ MapCharToGlyph()

GlyphID CoreTextFontCache::MapCharToGlyph ( char32_t  key,
bool  fallback = true 
)
overridevirtual

Map a character into a glyph.

Parameters
keyThe character.
fallbackAllow fallback to the parent font.
Returns
The glyph ID used to draw the character.

Implements FontCache.

Definition at line 182 of file font_osx.cpp.

References font, FontCache::MapCharToGlyph(), and FontCache::parent.

◆ SetFontSize()

void CoreTextFontCache::SetFontSize ( int  pixels)
private

Definition at line 127 of file font_osx.cpp.

Field Documentation

◆ font

CFAutoRelease<CTFontRef> CoreTextFontCache::font
private

CoreText font handle.

Definition at line 20 of file font_osx.h.

Referenced by ClearFontCache(), GetOSHandle(), and MapCharToGlyph().

◆ font_desc

CFAutoRelease<CTFontDescriptorRef> CoreTextFontCache::font_desc
private

Font descriptor exlcuding font size.

Definition at line 19 of file font_osx.h.

◆ font_name

std::string CoreTextFontCache::font_name
private

Cached font name.

Definition at line 22 of file font_osx.h.

Referenced by GetFontName().


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