Allow grabing mouse by locking its position
authorPatrice Mandin <patmandin@gmail.com>
Tue, 12 Sep 2006 19:47:40 +0000
changeset 2025 7312feb88dad
parent 2024 cb0fd9cdd2a9
child 2026 a5d0758f88d8
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:44:51 2006 +0000
+++ b/src/video/gem/SDL_gemmouse.c	Tue Sep 12 19:47:40 2006 +0000
@@ -167,10 +167,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:44:51 2006 +0000
+++ b/src/video/gem/SDL_gemwm.c	Tue Sep 12 19:47:40 2006 +0000
@@ -113,7 +113,11 @@
 SDL_GrabMode
 GEM_GrabInput(_THIS, SDL_GrabMode mode)
 {
-    return SDL_GRAB_OFF;
+    if (this->screen == NULL) {
+        return SDL_GRAB_OFF;
+    }
+
+    return mode;
 }
 
 /* vi: set ts=4 sw=4 expandtab: */