Hash :
e62d68b3
Author :
Date :
2001-08-20T22:51:21
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
#ifndef __FTFont__
#define __FTFont__
#include <string>
#include <ft2build.h>
#include FT_FREETYPE_H
#include "FTFace.h"
#include "FTGL.h"
class FTGlyphContainer;
using namespace std;
class FTFont
{
public:
// methods
FTFont();
virtual ~FTFont();
virtual bool Open( const char* fontname );
virtual void Close();
virtual bool FaceSize( const unsigned int size, const unsigned int res = 72 );
virtual bool CharMap( FT_Encoding encoding );
virtual int Ascender() const;
virtual int Descender() const;
virtual void BBox( const char* text, int& llx, int& lly, int& urx, int& ury ) const;
virtual void render( const char* string );
virtual FT_Error Error() const { return err;}
// virtual const char* ErrorString();
// attributes
protected:
// methods
virtual bool MakeGlyphList() = 0;
// attributes
FT_Error err;
// future list of faces
FTFace face;
int numFaces;
// future list of sizes
FTSize charSize;
int numGlyphs;
FTGlyphContainer* glyphList;
FT_Vector pen;
private:
// methods
// attributes
};
#endif // __FTFont__