Hash :
8b9739ee
Author :
Date :
2008-04-11T16:24:56
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
#include "FTFont.h"
#include "FTGLBitmapFont.h"
#include "FTGLPixmapFont.h"
#include "FTGLOutlineFont.h"
#include "FTGLPolygonFont.h"
#include "FTGLExtrdFont.h"
#include "FTGLTextureFont.h"
#include <stdlib.h>
#include <stdio.h>
#ifndef __FTINTERNALS_H__
#define __FTINTERNALS_H__
#ifdef __cplusplus
extern "C" {
namespace C {
#endif
typedef enum ftglType
{
Bitmap,
Pixmap,
Outline,
Polygon,
Extrude,
Texture,
};
struct FTGLfont
{
FTFont *ptr;
ftglType type;
};
static inline FTGLfont *createFTFont(ftglType type, const char *fontname)
{
FTGLfont *ftgl = (FTGLfont*)malloc(sizeof(FTGLfont));
ftgl->type = type;
switch(type)
{
case Bitmap:
ftgl->ptr = new FTGLBitmapFont(fontname);
break;
case Pixmap:
ftgl->ptr = new FTGLPixmapFont(fontname);
break;
case Outline:
ftgl->ptr = new FTGLOutlineFont(fontname);
break;
case Polygon:
ftgl->ptr = new FTGLPolygonFont(fontname);
break;
case Extrude:
ftgl->ptr = new FTGLExtrdFont(fontname);
break;
case Texture:
ftgl->ptr = new FTGLTextureFont(fontname);
break;
}
return ftgl;
}
#ifdef __cplusplus
}
}
#endif
#endif //__FTINTERNALS_H__