OpenTTD Source: Win32FontCache Class Reference

OpenTTD Source 1.11.0-RC1

Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
Win32FontCache Class Reference

Font cache for fonts that are based on a Win32 font. More...

`#include <font_win32.h>`

Inheritance diagram for Win32FontCache:

## Public Member Functions
| Win32FontCache (FontSize fs, const LOGFONT &logfont, int pixels)
| Create a new Win32FontCache. More...
void | ClearFontCache () override
| Reset cached glyphs.
GlyphID | MapCharToGlyph (WChar key) override
| Map a character into a glyph. More...
const char * | GetFontName () override
| Get the name of this font. More...
const void * | GetOSHandle () override
| Get the native OS font handle, if there is one. More...
Public Member Functions inherited from TrueTypeFontCache
| TrueTypeFontCache (FontSize fs, int pixels)
| Create a new TrueTypeFontCache. More...
virtual | ~TrueTypeFontCache ()
| Free everything that was allocated for this font cache.
int | GetFontSize () const override
| Get the nominal font size of the font. More...
SpriteID | GetUnicodeGlyph (WChar key) override
| Get the SpriteID mapped to the given key. More...
void | SetUnicodeGlyph (WChar key, SpriteID sprite) override
| Map a SpriteID to the key. More...
void | InitializeUnicodeGlyphMap () override
| Initialize the glyph map.
const Sprite * | GetGlyph (GlyphID key) override
| Get the glyph (sprite) of the given key. More...
const void * | GetFontTable (uint32 tag, size_t &length) override
| Read a font table from the font. More...
uint | GetGlyphWidth (GlyphID key) override
| Get the width of the glyph with the given key. More...
bool | GetDrawGlyphShadow () override
| Do we need to draw a glyph shadow? More...
bool | IsBuiltInFont () override
| Is this a built-in sprite font?
Public Member Functions inherited from FontCache
| FontCache (FontSize fs)
| Create a new font cache. More...
virtual | ~FontCache ()
| Clean everything up.
FontSize | GetSize () const
| Get the FontSize of the font. More...
virtual int | GetHeight () const
| Get the height of the font. More...
int | GetAscender () const
| Get the ascender value of the font. More...
int | GetDescender () const
| Get the descender value of the font. More...
int | GetUnitsPerEM () const
| Get the units per EM value of the font. More...
bool | HasParent ()
| Check whether the font cache has a parent.

## Protected Member Functions
const void * | InternalGetFontTable (uint32 tag, size_t &length) override
const Sprite * | InternalGetGlyph (GlyphID key, bool aa) override
Protected Member Functions inherited from TrueTypeFontCache
GlyphEntry * | GetGlyphPtr (GlyphID key)
void | SetGlyphPtr (GlyphID key, const GlyphEntry *glyph, bool duplicate=false)

## Private Member Functions
void | SetFontSize (FontSize fs, int pixels)

## Private Attributes
LOGFONT | logfont
| Logical font information for selecting the font face.
HFONT | font = nullptr
| The font face associated with this font.
HDC | dc = nullptr
| Cached GDI device context.
HGDIOBJ | old_font
| Old font selected into the GDI context.
SIZE | glyph_size
| Maximum size of regular glyphs.

## Additional Inherited Members
Static Public Member Functions inherited from FontCache
static FontCache * | Get (FontSize fs)
| Get the font cache of a given font size. More...
Protected Types inherited from TrueTypeFontCache
typedef SmallMap< uint32, std::pair< size_t, const void * > > | FontTable
| Table with font table cache.
Static Protected Member Functions inherited from FontCache
static int | GetDefaultFontHeight (FontSize fs)
Protected Attributes inherited from TrueTypeFontCache
int | req_size
| Requested font size.
int | used_size
| Used font size.
FontTable | font_tables
| Cached font tables.
GlyphEntry ** | glyph_to_sprite
| The glyph cache. More...
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.
int | units_per_em
| The units per EM 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.

## Detailed Description

Font cache for fonts that are based on a Win32 font.

Definition at line 17 of file font_win32.h.

## Constructor & Destructor Documentation

## ◆ Win32FontCache()

Win32FontCache::Win32FontCache | ( | FontSize | fs,
|  | const LOGFONT & | logfont,
|  | int | pixels
| ) |  |

Create a new Win32FontCache.

Parameters

  fs | The font size that is going to be cached.
  logfont | The font that has to be loaded.
  pixels | The number of pixels this font should be high.

Definition at line 376 of file font_win32.cpp.

References dc, and FontCache::fs.

## Member Function Documentation

## ◆ GetFontName()

const char* Win32FontCache::GetFontName | ( |  | ) |
| inlineoverridevirtual

Get the name of this font.

Returns
  The name of the font.

Implements FontCache.

Definition at line 36 of file font_win32.h.

References FS2OTTD().

## ◆ GetOSHandle()

const void* Win32FontCache::GetOSHandle | ( |  | ) |
| inlineoverridevirtual

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

Returns
  Opaque OS font handle.

Reimplemented from FontCache.

Definition at line 37 of file font_win32.h.

References logfont.

## ◆ MapCharToGlyph()

GlyphID Win32FontCache::MapCharToGlyph | ( | WChar | key | ) |
| overridevirtual

Map a character into a glyph.

Parameters

  key | The character.

Returns
  The glyph ID used to draw the character.

Implements FontCache.

Definition at line 533 of file font_win32.cpp.

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

- src/os/windows/font_win32.h
- src/os/windows/font_win32.cpp