X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/dba614edd2aad3c17e244914eaef3809d8300cb1..570fd1eb73ef6a1e402e50881fc2cfeccdc3992f:/lib/gdi/font.h diff --git a/lib/gdi/font.h b/lib/gdi/font.h index ff2a88c5..0f3bf714 100644 --- a/lib/gdi/font.h +++ b/lib/gdi/font.h @@ -1,6 +1,8 @@ #ifndef __FONT_H #define __FONT_H +#ifndef SWIG + #include #include FT_FREETYPE_H #include FT_CACHE_H @@ -8,7 +10,6 @@ #include FT_CACHE_SMALL_BITMAPS_H #include - #include #include #include @@ -22,8 +23,10 @@ class gDC; class gFont; class gRGB; +#endif class fontRenderClass { +#ifndef SWIG friend class Font; friend class eTextPara; fbClass *fb; @@ -43,17 +46,21 @@ class fontRenderClass FTC_FaceID getFaceID(const std::string &face); FT_Error getGlyphBitmap(FTC_Image_Desc *font, FT_ULong glyph_index, FTC_SBit *sbit); static fontRenderClass *instance; +#endif public: float getLineHeight(const gFont& font); - std::string AddFont(const std::string &filename, const std::string &name, int scale); static fontRenderClass *getInstance(); - FT_Error FTC_Face_Requester(FTC_FaceID face_id, - FT_Face* aface); +#ifndef SWIG + std::string AddFont(const std::string &filename, const std::string &name, int scale); + FT_Error FTC_Face_Requester(FTC_FaceID face_id, FT_Face* aface); int getFont(ePtr &font, const std::string &face, int size, int tabwidth=-1); +#endif fontRenderClass(); ~fontRenderClass(); }; +#ifndef SWIG + #define RS_WRAP 1 #define RS_DOT 2 #define RS_DIRECT 4 @@ -63,6 +70,8 @@ public: #define GS_ISFIRST 2 #define GS_USED 4 +#define GS_INVERT 8 + struct pGlyph { int x, y, w; @@ -130,11 +139,32 @@ 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 @@ -155,4 +185,6 @@ public: extern fontRenderClass *font; +#endif // !SWIG + #endif