fontbase.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef FIFE_FONTS_FONTBASE_H
00023 #define FIFE_FONTS_FONTBASE_H
00024
00025
00026 #include <string>
00027
00028
00029 #include "util/base/fife_stdint.h"
00030
00031
00032 #include <SDL.h>
00033
00034
00035
00036
00037
00038 #include "textrenderpool.h"
00039 #include "abstractfont.h"
00040
00041 struct SDL_Surface;
00042 namespace FIFE {
00043
00048 class FontBase: public AbstractFont {
00049 public:
00050 FontBase();
00051 virtual ~FontBase() {};
00052
00053 void invalidate();
00054 void setRowSpacing (int spacing);
00055 int getRowSpacing() const;
00056 void setGlyphSpacing(int spacing);
00057 int getGlyphSpacing() const;
00058 void setAntiAlias(bool antiAlias);
00059 bool isAntiAlias();
00060 virtual int getStringIndexAt(const std::string &text, int x) const;
00061
00062 Image* getAsImage(const std::string& text);
00063 Image* getAsImageMultiline(const std::string& text);
00064 std::string splitTextToWidth (const std::string& text, int render_width);
00065
00066 SDL_Color getColor() const;
00067
00068 virtual SDL_Surface* renderString(const std::string& text) = 0;
00069
00070 protected:
00071 TextRenderPool m_pool;
00072
00073 SDL_Color mColor;
00074 int mGlyphSpacing;
00075 int mRowSpacing;
00076
00077 std::string mFilename;
00078 bool m_antiAlias;
00079 };
00080
00081 }
00082
00083 #endif