#ifndef __TEXTHANDLER_H__
#define __TEXTHANDLER_H__
#include <fstream>
#include <string>
#include <SDL/SDL_types.h>
#include <map>
class UOChar
{
public:
UOChar();
~UOChar();
Sint8 width;
Sint8 height;
Sint8 bwidth;
Sint8 xOff;
Sint8 yOff;
Uint8 *data;
};
class UOFont {
public:
UOFont();
~UOFont();
UOChar chars[224];
bool loaded;
};
class UniFont {
public:
UniFont(string fname);
~UniFont();
void loadChar(Uint16 ch);
map<Uint16,UOChar>chars;
private:
ifstream file;
Uint32 *offsets;
};
class TextHandler {
public:
TextHandler();
~TextHandler();
void drawString(string &str,Uint16 font,Uint16 x,Uint16 y,Uint16 hue);
void drawUnicodeString(string &str,Uint16 font,
Uint16 x,Uint16 y,Uint32 hue);
Uint16 getWidth(string &str,Uint16 font);
Uint8 getHeight(Uint16 font);
Uint16 unicodeWidth(string &str,Uint16 font);
Uint8 unicodeHeight(Uint16 font);
UOFont &getFont(Uint16 font);
private:
ifstream fontfile;
map<Uint16,UOFont>fonts;
UniFont *unifont[3];
};
#endif