Files
Aerofoil/PortabilityLayer/FontManager.h

30 lines
667 B
C++

#pragma once
#include "FontHacks.h"
#include "FontFamilyID.h"
#include "FontPresets.h"
struct IGpFont;
namespace PortabilityLayer
{
class FontFamily;
class RenderedFont;
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;
static FontManager *GetInstance();
};
}