#ifndef __LUAFTGL_H__ #define __LUAFTGL_H__ #include #include #include class EncapFTFont : public Base { public: EncapFTFont(FTFont * _f) : f(_f) { } ~EncapFTFont() { delete f; } FTFont * Get() { return f; } private: FTFont * f; }; class EncapFTGLExtrdFont : public EncapFTFont { public: EncapFTGLExtrdFont(const char * path) : EncapFTFont(new FTGLExtrdFont(path)) { } EncapFTGLExtrdFont(const unsigned char * buff, size_t siz) : EncapFTFont(new FTGLExtrdFont(buff, siz)) { } }; class EncapFTGLOutlineFont : public EncapFTFont { public: EncapFTGLOutlineFont(const char * path) : EncapFTFont(new FTGLOutlineFont(path)) { } EncapFTGLOutlineFont(const unsigned char * buff, size_t siz) : EncapFTFont(new FTGLOutlineFont(buff, siz)) { } }; class EncapFTGLPolygonFont : public EncapFTFont { public: EncapFTGLPolygonFont(const char * path) : EncapFTFont(new FTGLPolygonFont(path)) { } EncapFTGLPolygonFont(const unsigned char * buff, size_t siz) : EncapFTFont(new FTGLPolygonFont(buff, siz)) { } }; class EncapFTGLTextureFont : public EncapFTFont { public: EncapFTGLTextureFont(const char * path) : EncapFTFont(new FTGLTextureFont(path)) { } EncapFTGLTextureFont(const unsigned char * buff, size_t siz) : EncapFTFont(new FTGLTextureFont(buff, siz)) { } }; class EncapFTGLPixmapFont : public EncapFTFont { public: EncapFTGLPixmapFont(const char * path) : EncapFTFont(new FTGLPixmapFont(path)) { } EncapFTGLPixmapFont(const unsigned char * buff, size_t siz) : EncapFTFont(new FTGLPixmapFont(buff, siz)) { } }; class EncapFTGLBitmapFont : public EncapFTFont { public: EncapFTGLBitmapFont(const char * path) : EncapFTFont(new FTGLBitmapFont(path)) { } EncapFTGLBitmapFont(const unsigned char * buff, size_t siz) : EncapFTFont(new FTGLBitmapFont(buff, siz)) { } }; class LuaFTFont : public LuaObject { public: static void pushstatics(Lua *) throw (GeneralException); LuaFTFont(EncapFTFont * _f) : f(_f) { } ~LuaFTFont() { } private: virtual void pushmembers(Lua *); EncapFTFont * f; }; #endif