mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 14:53:52 +00:00
59 lines
1.1 KiB
C++
59 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include "FontHacks.h"
|
|
#include "FontFamilyID.h"
|
|
|
|
struct IGpFont;
|
|
|
|
namespace PortabilityLayer
|
|
{
|
|
class FontFamily;
|
|
class RenderedFont;
|
|
|
|
namespace FontPresets
|
|
{
|
|
enum FontPreset
|
|
{
|
|
kSystem12,
|
|
kSystem12Bold,
|
|
|
|
kApplication8,
|
|
kApplication9,
|
|
kApplication9Bold,
|
|
kApplication10Bold,
|
|
kApplication12Bold,
|
|
kApplication14,
|
|
kApplication14Bold,
|
|
kApplication18,
|
|
kApplication40,
|
|
|
|
kMono10,
|
|
|
|
kHandwriting24,
|
|
kHandwriting48,
|
|
|
|
kCount,
|
|
};
|
|
}
|
|
|
|
typedef FontPresets::FontPreset FontPreset_t;
|
|
|
|
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 *GetRenderedFontFromFamily(FontFamily *fontFamily, int fontSize, bool aa, int flags) = 0;
|
|
|
|
virtual RenderedFont *LoadCachedRenderedFont(FontFamilyID_t familyID, int size, bool aa, int flags) = 0;
|
|
|
|
virtual void PurgeCache() = 0;
|
|
|
|
static FontManager *GetInstance();
|
|
};
|
|
}
|