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:
00031 FTGlyph( FT_GlyphSlot glyph);
00032
00036 virtual ~FTGlyph();
00037
00044 virtual float Render( const FTPoint& pen) = 0;
00045
00051 float Advance() const { return advance;}
00052
00058 const FTBBox& BBox() const { return bBox;}
00059
00065 FT_Error Error() const { return err;}
00066
00067 protected:
00071 float advance;
00072
00076 FTBBox bBox;
00077
00081 FT_Error err;
00082
00083 private:
00084
00085 };
00086
00087
00088 #endif // __FTGlyph__
00089