#ifndef OGFONT_H #define OGFONT_H #include "objgfx30.h" #define LeftText 0 #define CenterText 1 #define RightText 2 #define BottomText 0 #define TopText 2 typedef struct { char ID[3]; uInt8 version; uInt8 width, height; uInt8 numOfChars; uInt8 startingChar; uInt8 colourType; uInt8 paddington[7]; } ogDPFHeader; class ogBitFont { protected: uInt32 fontDataIdx[256]; uInt32 charWidthTable[256]; uInt32 charHeightTable[256]; void * fontData; uInt32 fontDataSize; ogRGB BGColour; ogRGB FGColour; uInt8 width, height; uInt16 numOfChars; uInt8 startingChar; public: ogBitFont(); void putChar(ogSurface&, int32, int32, const char); void putString(ogSurface&, int32, int32, const char *); void setBGColor(uInt8, uInt8, uInt8); void setFGColor(uInt8, uInt8, uInt8); uInt32 getWidth(void) const { return width; }; uInt32 getHeight(void) const { return height; }; bool loadFrom(const char *, uInt32); bool saveTo(const char *, int32); void centerTextX(ogSurface&, int32, const char *); void justifyText(ogSurface&, uInt8, uInt8, const char *); bool load(const char *); bool save(const char *); uInt32 textHeight(const char *) const { return height; }; uInt32 textWidth(const char *); ~ogBitFont(void); }; // ogBitFont #endif