mirror of
https://github.com/yawut/SDL.git
synced 2026-08-23 17:25:26 -05:00
Correctly manage mouse relative motion
This commit is contained in:
@@ -382,13 +382,13 @@ static void do_mouse(_THIS, short mx, short my, short mb, short ks)
|
||||
}
|
||||
|
||||
/* Mouse motion ? */
|
||||
if ((prevmousex!=mx) || (prevmousey!=my)) {
|
||||
if (GEM_mouse_relative) {
|
||||
if ((SDL_AtariXbios_mousex!=0) || (SDL_AtariXbios_mousey!=0)) {
|
||||
SDL_PrivateMouseMotion(0, 1, SDL_AtariXbios_mousex, SDL_AtariXbios_mousey);
|
||||
SDL_AtariXbios_mousex = SDL_AtariXbios_mousey = 0;
|
||||
}
|
||||
} else {
|
||||
if (GEM_mouse_relative) {
|
||||
if (SDL_AtariXbios_mousex || SDL_AtariXbios_mousey) {
|
||||
SDL_PrivateMouseMotion(0, 1, SDL_AtariXbios_mousex, SDL_AtariXbios_mousey);
|
||||
SDL_AtariXbios_mousex = SDL_AtariXbios_mousey = 0;
|
||||
}
|
||||
} else {
|
||||
if ((prevmousex!=mx) || (prevmousey!=my)) {
|
||||
int posx, posy;
|
||||
|
||||
/* Give mouse position relative to window position */
|
||||
|
||||
@@ -165,8 +165,8 @@ void GEM_WarpWMCursor(_THIS, Uint16 x, Uint16 y)
|
||||
void GEM_CheckMouseMode(_THIS)
|
||||
{
|
||||
/* If the mouse is hidden and input is grabbed, we use relative mode */
|
||||
if ( !(SDL_cursorstate & CURSOR_VISIBLE) &&
|
||||
(this->input_grab != SDL_GRAB_OFF) &&
|
||||
if ( (!(SDL_cursorstate & CURSOR_VISIBLE)) &&
|
||||
/*(this->input_grab != SDL_GRAB_OFF) && */ /* Damn GEM can not grab */
|
||||
(SDL_GetAppState() & SDL_APPACTIVE) ) {
|
||||
GEM_mouse_relative = SDL_TRUE;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user