2019-12-23 17:43:10 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "FontHacks.h"
|
2021-03-27 02:08:03 -04:00
|
|
|
#include "FontFamilyID.h"
|
2021-04-15 19:32:15 -04:00
|
|
|
#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
|
2019-12-23 17:43:10 -05:00
|
|
|
{
|
|
|
|
|
class FontFamily;
|
|
|
|
|
class RenderedFont;
|
|
|
|
|
|
2019-12-21 18:40:17 -05:00
|
|
|
class FontManager
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual void Init() = 0;
|
|
|
|
|
virtual void Shutdown() = 0;
|
|
|
|
|
|
2021-03-27 02:08:03 -04:00
|
|
|
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;
|
2019-12-23 17:43:10 -05:00
|
|
|
|
2021-03-27 02:08:03 -04:00
|
|
|
virtual RenderedFont *LoadCachedRenderedFont(FontFamilyID_t familyID, int size, bool aa, int flags) = 0;
|
2020-10-24 11:41:39 -04:00
|
|
|
|
2020-11-30 18:43:17 -05:00
|
|
|
virtual void PurgeCache() = 0;
|
|
|
|
|
|
2019-12-21 18:40:17 -05:00
|
|
|
static FontManager *GetInstance();
|
|
|
|
|
};
|
|
|
|
|
}
|