1
0
mirror of https://github.com/OpenTTD/OpenTTD synced 2026-01-21 19:32:54 +01:00

Codechange: Use ProviderManager interface to register FontCache factories.

This removes use of #ifdefs to select the appropriate loader, and also replaces FontCache self-registration.
This commit is contained in:
Peter Nelson
2025-08-07 18:13:35 +01:00
committed by Peter Nelson
parent ed1262cab9
commit 140f2b291a
14 changed files with 409 additions and 326 deletions

View File

@@ -151,3 +151,20 @@ bool SpriteFontCache::GetDrawGlyphShadow()
{
return false;
}
class SpriteFontCacheFactory : public FontCacheFactory {
public:
SpriteFontCacheFactory() : FontCacheFactory("sprite", "Sprite font provider") {}
std::unique_ptr<FontCache> LoadFont(FontSize fs, FontType fonttype) override
{
if (fonttype != FontType::Sprite) return nullptr;
return std::make_unique<SpriteFontCache>(fs);
}
private:
static SpriteFontCacheFactory instance;
};
/* static */ SpriteFontCacheFactory SpriteFontCacheFactory::instance;