class SGL_Font { public: SGL_Texture * font, * mask; uint32 charWidth[256],charStart[256]; SGL_Font() { font = 0; mask = 0; for(int j=0;j<256;j++) { charWidth[j]=0; charStart[j]=0; } } void LoadFont(SGL_Texture * tex, char * def, SGL_Texture * msk = 0) { font = tex; mask = msk; FILE * defs = fopen(def,"r"); if(!defs) return; int j,k,l; while(!feof(defs)) { fscanf(defs,"%i\t%i\t%i",&j,&k,&l); if(j<256 && j>=0) { charStart[j] = k; charWidth[j] = l; } } fclose(defs); } SGL_Texture * GetTexture() { return font; } uint32 Height() { return font->height; } uint32 Width(uint8 letter) { return charWidth[letter]; } uint32 Start(uint8 letter) { return charStart[letter]; } };