Added FTBbox
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
diff --git a/include/FTGlyph.h b/include/FTGlyph.h
index 0f4000f..ddaf125 100755
--- a/include/FTGlyph.h
+++ b/include/FTGlyph.h
@@ -7,7 +7,53 @@
#include FT_FREETYPE_H
#include FT_GLYPH_H
-//#include "FTGL.h"
+
+class FTGL_EXPORT FTBBox
+{
+ public:
+ FTBBox()
+ : x1(0),
+ y1(0),
+ z1(0),
+ x2(0),
+ y2(0),
+ z2(0)
+ {}
+
+ FTBBox( FT_Glyph glyph)
+ {
+ FT_BBox bbox;
+ FT_Glyph_Get_CBox( glyph, ft_glyph_bbox_subpixels, &bbox );
+
+ x1 = bbox.xMin >> 6;
+ y1 = bbox.yMin >> 6;;
+ z1 = 0;
+ x2 = bbox.xMax >> 6;;
+ y2 = bbox.yMax >> 6;;
+ z2 = 0;
+ }
+
+ FTBBox( int a, int b, int c, int d, int e, int f)
+ : x1(a),
+ y1(b),
+ z1(c),
+ x2(d),
+ y2(e),
+ z2(f)
+ {}
+
+ ~FTBBox()
+ {}
+
+ // Make these ftPoints
+ int x1, y1, z1, x2, y2, z2;
+
+ protected:
+
+
+ private:
+};
+
/**
* FTGlyph is the base class for FTGL glyphs.
@@ -48,6 +94,13 @@ class FTGL_EXPORT FTGlyph
float Advance() const { return advance;}
/**
+ * Return the bounding box for this glyph.
+ *
+ * @return bounding box.
+ */
+ FTBBox BBox() const { return bBox;}
+
+ /**
* Queries for errors.
*
* @return The current error code.
@@ -65,6 +118,12 @@ class FTGL_EXPORT FTGlyph
*/
FT_Vector pos;
+
+ /**
+ * A freetype bounding box
+ */
+ FTBBox bBox;
+
/**
* Current error code. Zero means no error.
*/