Hash :
4cd99a38
Author :
Date :
2001-07-30T02:24:24
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
#ifndef __FTFont__
#define __FTFont__
#include <string>
#include <ft2build.h>
#include FT_FREETYPE_H
#include "FTFace.h"
//#include "FTGL.h"
//class FTGlyph;
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 int size, const int res = 72 );
virtual bool CharMap( CHARMAP encoding );
// virtual FTGlyph* Glyph( unsigned char code );
// virtual FTGlyph* Glyph( unsigned char thisCode, unsigned char nextCode );
virtual int Ascender() const;
virtual int Descender() const;
virtual void BBox( const char* text, int& llx, int& lly, int& urx, int& ury ) const;
virtual bool render( const char* string );
virtual FT_Error Error() const { return err;}
// attributes
protected:
// methods
virtual bool MakeGlyphList() = 0;
// attributes
FT_Error err;
// list of faces
FTFace face;
int numFaces;
// list of sizes
FTSize charSize;
int numGlyphs;
string fontName;
FTGlyphContainer* glyphList;
FT_Vector pen;
private:
// methods
// attributes
};
#endif // __FTFont__