00001 #ifndef __FTGlyph__
00002 #define __FTGlyph__
00003
00004 #include <ft2build.h>
00005 #include FT_FREETYPE_H
00006 #include FT_GLYPH_H
00007
00008 #include "FTBBox.h"
00009 #include "FTPoint.h"
00010 #include "FTGL.h"
00011
00012
00025 class FTGL_EXPORT FTGlyph
00026 {
00027 public:
00036 FTGlyph( FT_GlyphSlot glyph, bool useDisplayList = true);
00037
00041 virtual ~FTGlyph();
00042
00049 virtual const FTPoint& Render( const FTPoint& pen) = 0;
00050
00056 const FTPoint& Advance() const { return advance;}
00057
00063 const FTBBox& BBox() const { return bBox;}
00064
00070 FT_Error Error() const { return err;}
00071
00072 protected:
00076 FTPoint advance;
00077
00081 FTBBox bBox;
00082
00088 bool useDisplayList;
00089
00093 FT_Error err;
00094
00095 private:
00096
00097 };
00098
00099
00100 #endif // __FTGlyph__
00101