add code to debug collision rectangles
[supertux.git] / src / object / text_object.hpp
1 #ifndef __TEXTOBJECT_H__
2 #define __TEXTOBJECT_H__
3
4 #include "game_object.hpp"
5 #include "scripting/text.hpp"
6 #include "script_interface.hpp"
7
8 class Font;
9
10 /** A text object intended for scripts that want to tell a story */
11 class TextObject : public GameObject, public Scripting::Text,
12                    public ScriptInterface
13 {
14 public:
15   TextObject();
16   virtual ~TextObject();
17
18   void expose(HSQUIRRELVM vm, int table_idx);
19   void unexpose(HSQUIRRELVM vm, int table_idx);
20
21   void set_text(const std::string& text);
22   void set_font(const std::string& name);
23   void fade_in(float fadetime);
24   void fade_out(float fadetime);
25   void set_visible(bool visible);
26   void set_centered(bool centered);
27   bool is_visible();
28
29   void draw(DrawingContext& context);
30   void update(float elapsed_time);
31
32 private:
33   Font* font;
34   std::string text;
35   float fading;
36   float fadetime;
37   bool visible;
38   bool centered;
39 };
40
41 #endif
42