#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 <list>
#include <lib/gdi/fb.h>
#include <lib/gdi/esize.h>
eSize maximum;
int left;
glyphString glyphs;
+ std::list<int> lineOffsets;
+ std::list<int> lineChars;
+ int charCount;
+ bool doTopBottomReordering;
int appendGlyph(Font *current_font, FT_Face current_face, FT_UInt glyphIndex, int flags, int rflags);
void newLine(int flags);
eRect boundBox;
void calc_bbox();
int bboxValid;
+ void clear();
public:
eTextPara(eRect area, ePoint start=ePoint(-1, -1))
- : current_font(0), replacement_font(0), current_face(0), replacement_face(0),
- area(area), cursor(start), maximum(0, 0), left(start.x()), bboxValid(0)
+ :current_font(0), replacement_font(0), current_face(0), replacement_face(0)
+ ,area(area), cursor(start), maximum(0, 0), left(start.x()), charCount(0)
+ ,doTopBottomReordering(false), bboxValid(0)
{
}
virtual ~eTextPara();
void setFont(const gFont *font);
int renderString(const char *string, int flags=0);
- void clear();
+
void blit(gDC &dc, const ePoint &offset, const gRGB &background, const gRGB &foreground);
{
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);