00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef FIFE_ABSTRACT_FONT_H
00023 #define FIFE_ABSTRACT_FONT_H
00024
00025
00026 #include <string>
00027
00028
00029
00030
00031 #include <SDL.h>
00032
00033
00034
00035
00036
00037
00038 namespace FIFE {
00039 class Image;
00040
00043 class AbstractFont {
00044 public:
00045 virtual ~AbstractFont() {}
00046
00053 virtual void setRowSpacing (int spacing) = 0;
00054
00060 virtual int getRowSpacing() const = 0;
00061
00068 virtual void setGlyphSpacing(int spacing) = 0;
00069
00075 virtual int getGlyphSpacing() const = 0;
00076
00082 virtual void setAntiAlias(bool antiAlias) = 0;
00083
00089 virtual bool isAntiAlias() = 0;
00090
00091 virtual int getStringIndexAt(const std::string &text, int x) const = 0;
00092
00096 virtual Image* getAsImage(const std::string& text) = 0;
00097
00101 virtual Image* getAsImageMultiline(const std::string& text) = 0;
00102
00103 virtual std::string splitTextToWidth (const std::string& text, int render_width) = 0;
00104
00107 virtual void setColor(uint8_t r,uint8_t g,uint8_t b) = 0;
00108
00111 virtual SDL_Color getColor() const = 0;
00112
00115 virtual int getWidth(const std::string& text) const = 0;
00116
00119 virtual int getHeight() const = 0;
00120 };
00121 }
00122
00123 #endif