add possibility to disable debug output
[enigma2.git] / lib / gdi / font.h
index b898391487963b5d1f33f5a4f353ca9bf0be32aa..41d51ddc0ec2df9b273cb326f701af01132a47c4 100644 (file)
@@ -8,6 +8,11 @@
 #include FT_CACHE_H
 #include FT_CACHE_IMAGE_H
 #include FT_CACHE_SMALL_BITMAPS_H
+#ifdef HAVE_FREETYPE2
+typedef FTC_ImageCache FTC_Image_Cache;
+typedef FTC_ImageTypeRec FTC_Image_Desc;
+typedef FTC_SBitCache FTC_SBit_Cache;
+#endif
 #include <vector>
 
 #include <lib/gdi/fb.h>
@@ -74,8 +79,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
 {
@@ -93,9 +100,8 @@ class eLCD;
 
 class eTextPara: public iObject
 {
-DECLARE_REF(eTextPara);
-private:
-       ePtr<Font> current_font, replacement_font;
+       DECLARE_REF(eTextPara);
+       ePtr<Font> current_font, replacement_font;
        FT_Face current_face, replacement_face;
        int use_kerning;
        int previous;
@@ -126,7 +132,7 @@ public:
        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();
 
@@ -176,8 +182,11 @@ public:
 
 class Font: public iObject
 {
-DECLARE_REF(Font);
+       DECLARE_REF(Font);
 public:
+#ifdef HAVE_FREETYPE2
+       FTC_ScalerRec scaler;
+#endif
        FTC_Image_Desc font;
        fontRenderClass *renderer;
        FT_Error getGlyphBitmap(FT_ULong glyph_index, FTC_SBit *sbit);