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_Glyph 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