Edit

kc3-lang/ftgl/include/FTBitmapGlyph.h

Branch :

  • Show log

    Commit

  • Author : henry
    Date : 2003-09-25 03:55:19
    Hash : 59a0780e
    Message : Changed to use FTGlyphSlot internally instead of FTGlyph

  • include/FTBitmapGlyph.h
  • #ifndef     __FTBitmapGlyph__
    #define     __FTBitmapGlyph__
    
    
    #include <ft2build.h>
    #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 <code>Render</code> 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 float Render( const FTPoint& pen);
            
        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__