Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Allow mouse to be locked when grabbed with GEM driver
- Loading branch information
|
@@ -50,7 +50,8 @@ 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 = atari_prevmouseb = 0; |
|
@@ -151,4 +152,8 @@ SDL_AtariXbios_PostMouseEvents(_THIS, SDL_bool buttonEvents) |
|
|
} |
|
|
} |
|
|
|
|
|
void SDL_AtariXbios_LockMousePosition(SDL_bool lockPosition) |
|
|
{ |
|
|
SDL_AtariXbios_mouselock = lockPosition; |
|
|
} |
|
|
/* vi: set ts=4 sw=4 expandtab: */ |
|
@@ -43,6 +43,7 @@ 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_ */ |
|
|
/* vi: set ts=4 sw=4 expandtab: */ |
|
@@ -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 */ |
|
|