#ifndef __FTBitmapGlyph__ #define __FTBitmapGlyph__ #include #include FT_FREETYPE_H #include FT_GLYPH_H #include "FTGL.h" #include "FTGlyph.h" /** * FTBitmapGlyph is a specialisation of FTGlyph for creating bitmaps. * * It provides the interface between Freetype glyphs and their openGL * Renderable counterparts. This is an abstract class and derived classes * must implement the Render function. * * @see FTGlyphContainer * */ class FTGL_EXPORT FTBitmapGlyph : public FTGlyph { public: /** * Constructor * * @param glyph The Freetype glyph to be processed */ FTBitmapGlyph( FT_GlyphSlot glyph); /** * Destructor */ virtual ~FTBitmapGlyph(); /** * Renders this glyph at the current pen position. * * @param pen The current pen position. * @return The advance distance for this glyph. */ virtual const FTPoint& Render( const FTPoint& pen) override; private: /** * The width of the glyph 'image' */ unsigned int destWidth; /** * The height of the glyph 'image' */ unsigned int destHeight; /** * The pitch of the glyph 'image' */ unsigned int destPitch; /** * Vector from the pen position to the topleft corner of the bitmap */ FTPoint pos; /** * Pointer to the 'image' data */ unsigned char* data; }; #endif // __FTBitmapGlyph__