Commit 8eba29d8 authored by Patrice Mandin's avatar Patrice Mandin

Allow mouse to be locked when grabbed with GEM driver

--HG--
branch : SDL-1.2
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/branches/SDL-1.2%402076
parent 7cfc406e
......@@ -49,7 +49,8 @@ void SDL_AtariXbios_InstallVectors(int vectors_mask)
void *oldpile;
/* Clear variables */
SDL_AtariXbios_mouseb =
SDL_AtariXbios_mouselock =
SDL_AtariXbios_mouseb =
SDL_AtariXbios_mousex =
SDL_AtariXbios_mousey =
SDL_AtariXbios_joystick =
......@@ -146,3 +147,8 @@ void SDL_AtariXbios_PostMouseEvents(_THIS, SDL_bool buttonEvents)
atari_prevmouseb = SDL_AtariXbios_mouseb;
}
}
void SDL_AtariXbios_LockMousePosition(SDL_bool lockPosition)
{
SDL_AtariXbios_mouselock = lockPosition;
}
......@@ -43,5 +43,6 @@ extern int SDL_AtariXbios_enabled;
extern void SDL_AtariXbios_InstallVectors(int vectors_mask);
extern void SDL_AtariXbios_RestoreVectors(void);
extern void SDL_AtariXbios_PostMouseEvents(_THIS, SDL_bool buttonEvents);
extern void SDL_AtariXbios_LockMousePosition(SDL_bool lockPosition);
#endif /* _SDL_XBIOSEVENTS_H_ */
......@@ -33,6 +33,7 @@
.globl _SDL_AtariXbios_MouseVector
.globl _SDL_AtariXbios_JoystickVector
.globl _SDL_AtariXbios_mouselock
.globl _SDL_AtariXbios_mouseb
.globl _SDL_AtariXbios_mousex
.globl _SDL_AtariXbios_mousey
......@@ -125,6 +126,13 @@ _SDL_AtariXbios_MouseVector:
extw d0
addw d0,_SDL_AtariXbios_mousey
/* Lock mouse position ? */
tstw _SDL_AtariXbios_mouselock
beq.s no_mouse_lock
clrb a0@(1)
clrb a0@(2)
no_mouse_lock:
/* Jump through old vector */
movel sp@+,d0
......@@ -133,10 +141,9 @@ _SDL_AtariXbios_MouseVector:
.data
.even
.comm _SDL_AtariXbios_mouselock,2*1
.comm _SDL_AtariXbios_mousex,2*1
.even
.comm _SDL_AtariXbios_mousey,2*1
.even
.comm _SDL_AtariXbios_mouseb,2*1
/*--- Our joystick vector ---*/
......
......@@ -36,6 +36,7 @@
/* Variables */
extern volatile Uint16 SDL_AtariXbios_mouselock; /* mouse lock position */
extern volatile Uint16 SDL_AtariXbios_mouseb; /* buttons */
extern volatile Sint16 SDL_AtariXbios_mousex; /* X relative motion */
extern volatile Sint16 SDL_AtariXbios_mousey; /* Y relative motion */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment