2011-09-07 21:06:51 +00:00
|
|
|
#ifndef _TEXFONT_H_
|
|
|
|
#define _TEXFONT_H_
|
|
|
|
|
|
|
|
class TexFont
|
|
|
|
{
|
|
|
|
public:
|
2012-04-02 05:52:22 +00:00
|
|
|
TexFont();
|
|
|
|
~TexFont();
|
2011-09-07 21:06:51 +00:00
|
|
|
|
2012-04-02 05:52:22 +00:00
|
|
|
bool IsLoaded() const
|
|
|
|
{
|
|
|
|
return mTexture != 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void MakeCurrent()
|
|
|
|
{
|
|
|
|
glBindTexture(GL_TEXTURE_2D, mTexture);
|
|
|
|
}
|
2011-09-07 21:06:51 +00:00
|
|
|
|
2014-08-23 22:56:59 +00:00
|
|
|
bool Load();
|
|
|
|
void Release();
|
|
|
|
|
2013-01-11 21:02:55 +00:00
|
|
|
void PrintText(float Left, float Top, float Z, const char* Text) const;
|
2015-04-06 23:23:24 +00:00
|
|
|
void GetGlyphQuad(float Left, float Top, float Z, int Glyph, float* Buffer) const;
|
2011-09-07 21:06:51 +00:00
|
|
|
void GetStringDimensions(int* cx, int* cy, const char* Text) const;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
unsigned char width;
|
|
|
|
float left, right, top, bottom;
|
2012-04-02 05:52:22 +00:00
|
|
|
} mGlyphs[256];
|
2011-09-07 21:06:51 +00:00
|
|
|
|
2012-04-02 05:52:22 +00:00
|
|
|
GLuint mTexture;
|
|
|
|
int mTextureWidth;
|
|
|
|
int mTextureHeight;
|
|
|
|
int mFontHeight;
|
2014-08-23 22:56:59 +00:00
|
|
|
int mRefCount;
|
2011-09-07 21:06:51 +00:00
|
|
|
};
|
|
|
|
|
2014-08-23 22:56:59 +00:00
|
|
|
extern TexFont gTexFont;
|
|
|
|
|
2011-09-07 21:06:51 +00:00
|
|
|
#endif // _TEXFONT_H_
|