2019-12-23 17:43:10 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "FontHacks.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;
|
|
|
|
|
|
2019-12-23 17:43:10 -05:00
|
|
|
virtual FontFamily *GetSystemFont(int fontSize, int variationFlags) const = 0;
|
|
|
|
|
virtual FontFamily *GetApplicationFont(int fontSize, int variationFlags) const = 0;
|
2020-10-24 23:39:55 -04:00
|
|
|
virtual FontFamily *GetHandwritingFont(int fontSize, int variationFlags) const = 0;
|
|
|
|
|
virtual FontFamily *GetMonospaceFont(int fontSize, int variationFlags) const = 0;
|
2019-12-23 17:43:10 -05:00
|
|
|
|
2020-09-12 14:01:51 -04:00
|
|
|
virtual RenderedFont *GetRenderedFont(IGpFont *font, int size, bool aa, FontHacks fontHacks) = 0;
|
2020-01-18 18:20:16 -05:00
|
|
|
virtual RenderedFont *GetRenderedFontFromFamily(FontFamily *fontFamily, int fontSize, bool aa, int flags) = 0;
|
2019-12-23 17:43:10 -05:00
|
|
|
|
2020-10-24 11:41:39 -04:00
|
|
|
virtual RenderedFont *LoadCachedRenderedFont(int cacheID, int size, bool aa, int flags) const = 0;
|
|
|
|
|
virtual void SaveCachedRenderedFont(const RenderedFont *rfont, int cacheID, int size, bool aa, int flags) const = 0;
|
|
|
|
|
|
2019-12-21 18:40:17 -05:00
|
|
|
static FontManager *GetInstance();
|
|
|
|
|
};
|
|
|
|
|
}
|