floatingtextrenderer.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_FLOATINGTEXTRENDERER_H
00023 #define FIFE_FLOATINGTEXTRENDERER_H
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #include "view/rendererbase.h"
00034
00035 namespace FIFE {
00036 class RenderBackend;
00037 class AbstractFont;
00038
00039 class FloatingTextRenderer: public RendererBase {
00040 public:
00046 FloatingTextRenderer(RenderBackend* renderbackend, int position, AbstractFont* font);
00047
00048 FloatingTextRenderer(const FloatingTextRenderer& old);
00049
00050 RendererBase* clone();
00051
00054 virtual ~FloatingTextRenderer();
00055
00056 void render(Camera* cam, Layer* layer, RenderList& instances);
00057
00058 std::string getName() { return "FloatingTextRenderer"; }
00059
00063 void changeDefaultFont(AbstractFont* font) { m_font = font; }
00064
00068 void setColor(uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255);
00069
00073 void setBackground(uint8_t br, uint8_t bg, uint8_t bb, uint8_t ba = 255);
00074
00078 void setBorder(uint8_t bbr, uint8_t bbg, uint8_t bbb, uint8_t bba = 255);
00079
00082 void resetBackground();
00083
00086 void resetBorder();
00087
00090 static FloatingTextRenderer* getInstance(IRendererContainer* cnt);
00091
00094 RenderBackend* getRenderBackend() const {return m_renderbackend;}
00095
00096 private:
00097 RenderBackend* m_renderbackend;
00098 AbstractFont* m_font;
00099 bool m_font_color;
00100 SDL_Color m_color;
00101 bool m_background;
00102 bool m_backborder;
00103 SDL_Color m_backcolor;
00104 SDL_Color m_backbordercolor;
00105 };
00106
00107 }
00108
00109 #endif