diff options
author | Kent Mein <mein@cs.umn.edu> | 2005-01-21 08:15:33 +0300 |
---|---|---|
committer | Kent Mein <mein@cs.umn.edu> | 2005-01-21 08:15:33 +0300 |
commit | 26f63bfa197e82a6d3a3f298c603f1878891b8f8 (patch) | |
tree | 370880862bd533224e42e7b374f39a43279e79f8 /extern/bFTGL/include/FTExtrdGlyph.h | |
parent | b561ca88cfc2445b82c3dc59bdbb8d9e46ee7e31 (diff) |
Added bFTGL to extern and updated the Makefiles. I'm guessing there will
need to be tweaks but it seems to work on my linux box. I haven't
touched any of the other build systems so those will need to be done.
We probably don't need all of this stuff but I figured better to add a little
too much then to little.
Kent
Diffstat (limited to 'extern/bFTGL/include/FTExtrdGlyph.h')
-rw-r--r-- | extern/bFTGL/include/FTExtrdGlyph.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/extern/bFTGL/include/FTExtrdGlyph.h b/extern/bFTGL/include/FTExtrdGlyph.h new file mode 100644 index 00000000000..01e7c9e1d76 --- /dev/null +++ b/extern/bFTGL/include/FTExtrdGlyph.h @@ -0,0 +1,71 @@ +#ifndef __FTExtrdGlyph__ +#define __FTExtrdGlyph__ + +#include <ft2build.h> +#include FT_FREETYPE_H +#include FT_GLYPH_H + +#include "FTGL.h" +#include "FTGlyph.h" + +class FTVectoriser; + +/** + * FTExtrdGlyph is a specialisation of FTGlyph for creating tessellated + * extruded polygon glyphs. + * + * @see FTGlyphContainer + * @see FTVectoriser + * + */ +class FTGL_EXPORT FTExtrdGlyph : public FTGlyph +{ + public: + /** + * Constructor. Sets the Error to Invalid_Outline if the glyphs isn't an outline. + * + * @param glyph The Freetype glyph to be processed + * @param depth The distance along the z axis to extrude the glyph + */ + FTExtrdGlyph( FT_GlyphSlot glyph, float depth); + + /** + * Destructor + */ + virtual ~FTExtrdGlyph(); + + /** + * Renders this glyph at the current pen position. + * + * @param pen The current pen position. + * @return The advance distance for this glyph. + */ + virtual float Render( const FTPoint& pen); + + private: + /** + * Calculate the normal vector to 2 points. This is 2D and ignores + * the z component. The normal will be normalised + * + * @param a + * @param b + * @return + */ + FTPoint GetNormal( const FTPoint &a, const FTPoint &b); + + + /** + * OpenGL display list + */ + GLuint glList; + + /** + * Distance to extrude the glyph + */ + float depth; + +}; + + +#endif // __FTExtrdGlyph__ + |