projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- beginnings of a wingling
[supertux.git]
/
src
/
mousecursor.cpp
diff --git
a/src/mousecursor.cpp
b/src/mousecursor.cpp
index
8fd776a
..
ff794b2
100644
(file)
--- a/
src/mousecursor.cpp
+++ b/
src/mousecursor.cpp
@@
-20,17
+20,19
@@
#include "screen.h"
#include "mousecursor.h"
#include "screen.h"
#include "mousecursor.h"
-MouseCursor::MouseCursor(std::string cursor_file, int frames)
+MouseCursor* MouseCursor::current_ = 0;
+
+MouseCursor::MouseCursor(std::string cursor_file, int frames) : mid_x(0), mid_y(0)
{
cursor = new Surface(cursor_file, USE_ALPHA);
{
cursor = new Surface(cursor_file, USE_ALPHA);
-
+
cur_state = MC_NORMAL;
cur_frame = 0;
tot_frames = frames;
timer.init(false);
timer.start(MC_FRAME_PERIOD);
cur_state = MC_NORMAL;
cur_frame = 0;
tot_frames = frames;
timer.init(false);
timer.start(MC_FRAME_PERIOD);
-
+
SDL_ShowCursor(SDL_DISABLE);
}
SDL_ShowCursor(SDL_DISABLE);
}
@@
-51,6
+53,12
@@
void MouseCursor::set_state(int nstate)
cur_state = nstate;
}
cur_state = nstate;
}
+void MouseCursor::set_mid(int x, int y)
+{
+ mid_x = x;
+ mid_y = y;
+}
+
void MouseCursor::draw()
{
int x,y,w,h;
void MouseCursor::draw()
{
int x,y,w,h;
@@
-80,5
+88,5
@@
void MouseCursor::draw()
timer.start(MC_FRAME_PERIOD);
}
timer.start(MC_FRAME_PERIOD);
}
- cursor->draw_part(w*cur_frame, h*cur_state , x
,
y, w, h);
+ cursor->draw_part(w*cur_frame, h*cur_state , x
-mid_x, y-mid_
y, w, h);
}
}