Reverted the relative coordinate 'bug' - that's the required behaviour when Window.update is calling Mouse.poll. Consider the case where we call Window.update twice before checking getD*: with the old behaviour, only the deltas between the updates are reported, not those before the first update

This commit is contained in:
Elias Naur 2004-04-12 07:13:36 +00:00
parent 86eb042b81
commit 6f1f14facb
1 changed files with 13 additions and 7 deletions

View File

@ -348,9 +348,9 @@ public class Mouse {
// set absolute position
x += poll_dx;
y += poll_dy;
dx = poll_dx;
dy = poll_dy;
dwheel = poll_dwheel;
dx += poll_dx;
dy += poll_dy;
dwheel += poll_dwheel;
// if window has been created, clamp to edges
if (Window.isCreated()) {
@ -502,21 +502,27 @@ public class Mouse {
* @return Movement on the x axis since last time getDX() was called
*/
public static int getDX() {
return dx;
int result = dx;
dx = 0;
return result;
}
/**
* @return Movement on the y axis since last time getDY() was called
*/
public static int getDY() {
return dy;
int result = dy;
dy = 0;
return result;
}
/**
* @return Movement of the wheel since last time getDWheel() was called
*/
public static int getDWheel() {
return dwheel;
int result = dwheel;
dwheel = 0;
return result;
}
/**
@ -564,4 +570,4 @@ public class Mouse {
}
}
}
}
}