X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ddc3964ed95d01e72229dc9af968a327cd84e56c..94284f21b07f1756120e8b6f5dd53e485a9ff66d:/lib/gdi/font.h?ds=sidebyside diff --git a/lib/gdi/font.h b/lib/gdi/font.h index a17fee71..a38454d1 100644 --- a/lib/gdi/font.h +++ b/lib/gdi/font.h @@ -63,6 +63,8 @@ public: #define GS_ISFIRST 2 #define GS_USED 4 +#define GS_INVERT 8 + struct pGlyph { int x, y, w; @@ -79,7 +81,7 @@ class eLCD; class eTextPara: public iObject { -DECLARE_REF; +DECLARE_REF(eTextPara); private: ePtr current_font, replacement_font; FT_Face current_face, replacement_face; @@ -130,16 +132,37 @@ public: return boundBox; } + + const int size() const + { + return glyphs.size(); + } const eRect& getGlyphBBox(int num) const { + assert(num >= 0); + assert(num < (int)glyphs.size()); return glyphs[num].bbox; } + + void setGlyphFlag(int g, int f) + { + assert(g >= 0); + assert(g < (int)glyphs.size()); + glyphs[g].flags |= f; + } + + void clearGlyphFlag(int g, int f) + { + assert(g >= 0); + assert(g < (int)glyphs.size()); + glyphs[g].flags |= f; + } }; class Font: public iObject { -DECLARE_REF; +DECLARE_REF(Font); public: FTC_Image_Desc font; fontRenderClass *renderer;