diff options
Diffstat (limited to 'engines/gargoyle/fonts.h')
-rw-r--r-- | engines/gargoyle/fonts.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/engines/gargoyle/fonts.h b/engines/gargoyle/fonts.h index dc0bfd887d..2f2cb4145c 100644 --- a/engines/gargoyle/fonts.h +++ b/engines/gargoyle/fonts.h @@ -25,6 +25,9 @@ #include "gargoyle/glk_types.h" #include "gargoyle/utils.h" +#include "common/archive.h" +#include "common/array.h" +#include "common/file.h" #include "common/str.h" #include "common/ustr.h" #include "graphics/font.h" @@ -37,12 +40,24 @@ enum FACES { MONOR, MONOB, MONOI, MONOZ, PROPR, PROPB, PROPI, PROPZ }; enum TYPES { MONOF, PROPF }; enum STYLES { FONTR, FONTB, FONTI, FONTZ }; +/** + * Fonts manager + */ class Fonts { private: Graphics::ManagedSurface *_surface; - Graphics::Font *_fontTable[FONTS_TOTAL]; + const Graphics::Font *_fontTable[FONTS_TOTAL]; + bool _fontsMissing; private: - Graphics::Font *loadFont(FACES face, double size, double aspect, int style); + /** + * Load all the fonts + */ + bool loadFonts(); + + /** + * Load a single font + */ + const Graphics::Font *loadFont(FACES face, Common::Archive *archive, double size, double aspect, int style); public: /** * Get the index/id of a font by name |