translate setup-titles
[enigma2.git] / lib / gdi / font.h
index ff2a88c5f6e692d0094e7520bca0b48040283ac6..0f3bf7145610c5582d52a5a02a53cdf54f43a046 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef __FONT_H
 #define __FONT_H
 
+#ifndef SWIG
+
 #include <ft2build.h>
 #include FT_FREETYPE_H
 #include FT_CACHE_H
@@ -8,7 +10,6 @@
 #include FT_CACHE_SMALL_BITMAPS_H
 #include <vector>
 
-
 #include <lib/gdi/fb.h>
 #include <lib/gdi/esize.h>
 #include <lib/gdi/epoint.h>
@@ -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> &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