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