#pragma once #include "CBitmap.h" #include #include #include class Font : public Retainable { public: static Font& defaultFont(); ~Font(); const CBitmap* glyphBitmap(byte) const; byte glyphWidth() const { return m_glyphWidth; } byte glyphHeight() const { return m_glyphHeight; } private: Font(const char* const* glyphs, byte glyphWidth, byte glyphHeight, byte firstGlyph, byte lastGlyph); const char* const* m_glyphs { nullptr }; mutable RetainPtr m_bitmaps[256]; byte m_glyphWidth { 0 }; byte m_glyphHeight { 0 }; byte m_firstGlyph { 0 }; byte m_lastGlyph { 0 }; };