00001 #ifndef GLT_FONTUNIC_H
00002 #define GLT_FONTUNIC_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00039 #include <glt/config.h>
00040 #include <glt/font.h>
00041 #include <glt/dlcache.h>
00042
00043 #include <iosfwd>
00044 #include <string>
00045
00051 class GltFontUnicode : public GltFont, private GltDisplayListCache
00052 {
00053 public:
00055 GltFontUnicode(void *data = NULL);
00057 ~GltFontUnicode();
00058
00059 void init(void *);
00060 void clear();
00061
00062 bool print(const wchar_t ch) const;
00063 bool print(const std::wstring &str) const;
00064 int width(const wchar_t ch) const;
00065
00066
00067
00068
00069
00070 static bool makeHeader(std::string &header,const int compressed);
00071 static void *getHeader(const void * const h,int &compressed);
00072
00073 private:
00074
00075 void OnDraw(const uint32 seed) const;
00076
00077
00078
00079 unsigned char *_data;
00080 unsigned int _index[0x10001];
00081 };
00082
00083 #endif