Now the growings animation looks pretty cool :)
[supertux.git] / src / button.h
index 950e898..33db204 100644 (file)
@@ -22,8 +22,8 @@
 #define SUPERTUX_BUTTON_H
 
 #include <vector>
-#include "texture.h"
-#include "drawable.h"
+#include "screen/texture.h"
+#include "timer.h"
 
 enum ButtonState {
   BUTTON_NONE = -1,
@@ -42,21 +42,25 @@ class Button
   friend class ButtonPanel;
 
 public:
-  Button(std::string icon_file, std::string info, SDLKey shortcut, int x, int y, int mw = -1, int h = -1);
+  Button(Surface* icon_file, const std::string& info, SDLKey shortcut,
+      int x, int y, int mw = -1, int h = -1);
+  Button(const std::string& icon_name, const std::string& info, SDLKey shortcut,
+      int x, int y, int mw = -1, int h = -1);
+  
   ~Button();
   void event(SDL_Event& event);
-  void draw();
+  void draw(DrawingContext& context);
   int get_state();
   void set_active(bool active) { active ? state = BUTTON_NONE : state = BUTTON_DEACTIVE; };
-  void add_icon(std::string icon_file, int mw, int mh);
+  void add_icon(const std::string& imagefile, int mw, int mh);
   SDL_Rect get_pos() { return rect; }
   int get_tag(){return tag; }
-  void set_drawable(Drawable* newdrawable)
-  { drawable = newdrawable; }
+//  void set_drawable(Drawable* newdrawable)
+//  { drawable = newdrawable; }
 
 private:
   static Timer popup_timer;
-  Drawable* drawable;
+//  Drawable* drawable;
   std::vector<Surface*> icon;
   std::string info;
   SDLKey shortcut;
@@ -71,7 +75,7 @@ class ButtonPanel
 public:
   ButtonPanel(int x, int y, int w, int h);
   ~ButtonPanel();
-  void draw();
+  void draw(DrawingContext& context);
   Button* event(SDL_Event &event);
   void additem(Button* pbutton, int tag);
   Button* button_panel_event(SDL_Event& event);