patch by Pieter Grimmerink: use ext3 largefile option only for disks > 4G
[enigma2.git] / lib / gdi / font.h
index 0f3bf7145610c5582d52a5a02a53cdf54f43a046..dbecd493ca0a6151eda5d5c4ebf1eb0bce482b98 100644 (file)
@@ -17,6 +17,8 @@
 #include <string>
 #include <lib/base/object.h> 
 
+#include <set>
+
 class FontRenderClass;
 class Font;
 class gDC;
@@ -46,6 +48,9 @@ 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;
+#else
+       fontRenderClass();
+       ~fontRenderClass();
 #endif
 public:
        float getLineHeight(const gFont& font);
@@ -54,9 +59,9 @@ public:
        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();
+#endif
 };
 
 #ifndef SWIG
@@ -69,8 +74,10 @@ public:
 #define GS_ISSPACE  1
 #define GS_ISFIRST  2
 #define GS_USED                        4
-
 #define GS_INVERT   8
+#define GS_SOFTHYPHEN 16
+#define GS_HYPHEN   32
+#define GS_CANBREAK (GS_ISSPACE|GS_SOFTHYPHEN|GS_HYPHEN)
 
 struct pGlyph
 {
@@ -95,6 +102,7 @@ private:
        int use_kerning;
        int previous;
        static std::string replacement_facename;
+       static std::set<int> forced_replaces;
 
        eRect area;
        ePoint cursor;
@@ -117,9 +125,10 @@ public:
        virtual ~eTextPara();
        
        static void setReplacementFont(std::string font) { replacement_facename=font; }
+       static void forceReplacementGlyph(int unicode) { forced_replaces.insert(unicode); }
 
        void setFont(const gFont *font);
-       int renderString(const std::string &string, int flags=0);
+       int renderString(const char *string, int flags=0);
 
        void clear();