Files
Aerofoil/PortabilityLayer/FontManager.h

30 lines
667 B
C
Raw Normal View History

#pragma once
#include "FontHacks.h"
#include "FontFamilyID.h"
#include "FontPresets.h"
2019-12-21 18:40:17 -05:00
2020-09-12 14:01:51 -04:00
struct IGpFont;
2019-12-21 18:40:17 -05:00
namespace PortabilityLayer
{
class FontFamily;
class RenderedFont;
2019-12-21 18:40:17 -05:00
class FontManager
{
public:
virtual void Init() = 0;
virtual void Shutdown() = 0;
virtual FontFamily *GetFont(FontFamilyID_t fontFamilyID) const = 0;
virtual void GetFontPreset(FontPreset_t fontPreset, FontFamilyID_t *outFamilyID, int *outSize, int *outVariationFlags, bool *outAA) const = 0;
virtual RenderedFont *LoadCachedRenderedFont(FontFamilyID_t familyID, int size, bool aa, int flags) = 0;
virtual void PurgeCache() = 0;
2019-12-21 18:40:17 -05:00
static FontManager *GetInstance();
};
}