- Made miniswig support HSQUIRRELVM arguments (and realized it was not needed
[supertux.git] / src / gui / mousecursor.h
index 0842b62..4bebe53 100644 (file)
 //  You should have received a copy of the GNU General Public License
 //  along with this program; if not, write to the Free Software
 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
 #ifndef SUPERTUX_MOUSECURSOR_H
 #define SUPERTUX_MOUSECURSOR_H
 
 #include <string>
 
-#include "special/timer.h"
 #include "video/surface.h"
 
-namespace SuperTux
-  {
-
-  #define MC_FRAME_PERIOD 800  // in ms
-
-  #define MC_STATES_NB 3
+#define MC_STATES_NB 3
  
-  enum {
-    MC_NORMAL,
-    MC_CLICK,
-    MC_LINK,
-    MC_HIDE
-  };
-
-  /// Mouse cursor.
-  /** Used to create mouse cursors.
-      The mouse cursors can be animated
-      and can be used in four different states.
-      (MC_NORMAL, MC_CLICK, MC_LINK or MC_HIDE) */
-  class MouseCursor
-    {
-    public:
-      /// Constructor of MouseCursor.
-      /** Expects an imagefile for the cursor and  the number of animation frames it contains. */
-      MouseCursor(std::string cursor_file, int frames);
-      ~MouseCursor();
-      /// Get MouseCursor state.
-      /** (MC_NORMAL, MC_CLICK, MC_LINK or MC_HIDE) */
-      int state();
-      /// Set MouseCursor state.
-      /** (MC_NORMAL, MC_CLICK, MC_LINK or MC_HIDE) */
-      void set_state(int nstate);
-      /// Define the middle of a MouseCursor.
-      /** Useful for cross mouse cursor images in example. */
-      void set_mid(int x, int y);
+enum {
+  MC_NORMAL,
+  MC_CLICK,
+  MC_LINK,
+  MC_HIDE
+};
 
-      /// Draw MouseCursor on screen.
-      void draw(DrawingContext& context);
+/// Mouse cursor.
+/** Used to create mouse cursors.
+    The mouse cursors can be animated
+    and can be used in four different states.
+    (MC_NORMAL, MC_CLICK, MC_LINK or MC_HIDE) */
+class MouseCursor
+{
+public:
+  /// Constructor of MouseCursor.
+  /** Expects an imagefile for the cursor and  the number of animation frames it contains. */
+  MouseCursor(std::string cursor_file);
+  ~MouseCursor();
+  /// Get MouseCursor state.
+  /** (MC_NORMAL, MC_CLICK, MC_LINK or MC_HIDE) */
+  int state();
+  /// Set MouseCursor state.
+  /** (MC_NORMAL, MC_CLICK, MC_LINK or MC_HIDE) */
+  void set_state(int nstate);
+  /// Define the middle of a MouseCursor.
+  /** Useful for cross mouse cursor images in example. */
+  void set_mid(int x, int y);
 
-      /// Return the current cursor.
-      static MouseCursor* current()
-      {        return current_;      };
-      /// Set current cursor.
-      static void set_current(MouseCursor* pcursor)
-      {        current_ = pcursor;      };
+  /// Draw MouseCursor on screen.
+  void draw(DrawingContext& context);
 
-    private:
-      int mid_x, mid_y;
-      static MouseCursor* current_;
-      int state_before_click;
-      int cur_state;
-      int cur_frame, tot_frames;
-      Surface* cursor;
-      Timer timer;
-    };
+  /// Return the current cursor.
+  static MouseCursor* current()
+  {        return current_;      };
+  /// Set current cursor.
+  static void set_current(MouseCursor* pcursor)
+  {        current_ = pcursor;      };
 
-} // namespace SuperTux
+private:
+  int mid_x, mid_y;
+  static MouseCursor* current_;
+  int state_before_click;
+  int cur_state;
+  Surface* cursor;
+};
 
 #endif /*SUPERTUX_MOUSECURSOR_H*/