00001 #ifndef _GLYPH_H_ 00002 #define _GLYPH_H_ 00003 00004 namespace glttf { 00005 00007 00012 class Glyph 00013 { 00014 public: 00016 00019 virtual ~Glyph(); 00020 00022 00025 void draw() const; 00026 00028 00031 float getHeight() const; 00032 00034 00037 float getWidth() const; 00038 00040 00043 float getBearingX() const; 00044 00046 00049 float getBearingY() const; 00050 00052 00055 float getAdvanceX() const; 00056 00058 00061 float getAdvanceY() const; 00062 00064 00067 float getMinX() const; 00068 00070 00073 float getMaxX() const; 00074 00076 00079 float getMinY() const; 00080 00082 00085 float getMaxY() const; 00086 protected: 00088 00100 Glyph(const FT_GlyphSlot glyph); 00101 00103 00108 GLuint getDisplayList(); 00109 private: 00110 Glyph(const Glyph &glyph); 00111 Glyph& operator=(const Glyph &glyph); 00112 00113 GLuint list; 00114 float width, height; 00115 float bearingX, bearingY; 00116 float hadvance, vadvance; 00117 00118 float minX, maxX, minY, maxY; 00119 }; 00120 00121 } 00122 00123 #endif