Allow grabing mouse by locking its position SDL-1.2
authorPatrice Mandin <patmandin@gmail.com>
Tue, 12 Sep 2006 19:34:18 +0000
branchSDL-1.2
changeset 3859 5d14acfdf84d
parent 3858 9ffd318e7b64
child 3860 bf1586b58ef2
Allow grabing mouse by locking its position
src/video/gem/SDL_gemmouse.c
src/video/gem/SDL_gemwm.c
--- a/src/video/gem/SDL_gemmouse.c	Tue Sep 12 19:33:33 2006 +0000
+++ b/src/video/gem/SDL_gemmouse.c	Tue Sep 12 19:34:18 2006 +0000
@@ -176,10 +176,12 @@
 
 	/* If the mouse is hidden and input is grabbed, we use relative mode */
 	if ( (!(SDL_cursorstate & CURSOR_VISIBLE)) &&
-		/*(this->input_grab != SDL_GRAB_OFF) && */ /* Damn GEM can not grab */
+		(this->input_grab != SDL_GRAB_OFF) &&
              (SDL_GetAppState() & SDL_APPACTIVE) ) {
+		SDL_AtariXbios_LockMousePosition(SDL_TRUE);
 		GEM_mouse_relative = SDL_TRUE;
 	} else {
+		SDL_AtariXbios_LockMousePosition(SDL_FALSE);
 		GEM_mouse_relative = SDL_FALSE;
 		graf_mouse(M_ON, NULL);
 	}
--- a/src/video/gem/SDL_gemwm.c	Tue Sep 12 19:33:33 2006 +0000
+++ b/src/video/gem/SDL_gemwm.c	Tue Sep 12 19:34:18 2006 +0000
@@ -108,5 +108,9 @@
 
 SDL_GrabMode GEM_GrabInput(_THIS, SDL_GrabMode mode)
 {
-	return SDL_GRAB_OFF;
+	if (this->screen == NULL) {
+		return SDL_GRAB_OFF;
+	}
+
+	return mode;
 }