diff src/video/cocoa/SDL_cocoawindow.m @ 3409:c8f580ebc96a

Adam Strzelecki to SDL Sending a patch for fullscreen Mac OS X SDL 1.3 (SVN) Cocoa mouse position handling. In fullscreen mouse coordinates should be relative to SCREEN not to the window, which doesn't really occupy fullscreen. Without this patch mouse position (especially Y) was totally incorrect (shifted) in fullscreen.
author Sam Lantinga <slouken@libsdl.org>
date Thu, 22 Oct 2009 04:46:11 +0000
parents 4c28a9655933
children 1e45c3012a4f
line wrap: on
line diff
--- a/src/video/cocoa/SDL_cocoawindow.m	Wed Oct 21 14:51:42 2009 +0000
+++ b/src/video/cocoa/SDL_cocoawindow.m	Thu Oct 22 04:46:11 2009 +0000
@@ -239,6 +239,15 @@
     mouse = SDL_GetMouse(index);
 
     point = [NSEvent mouseLocation];
+    if ( (window->flags & SDL_WINDOW_FULLSCREEN) ) {
+        rect.size.width = CGDisplayPixelsWide(kCGDirectMainDisplay);
+        rect.size.height = CGDisplayPixelsHigh(kCGDirectMainDisplay);
+        point.y = rect.size.height - point.y;
+    } else {
+        rect = [_data->window contentRectForFrameRect:[_data->window frame]];
+        point.x = point.x - rect.origin.x;
+        point.y = rect.size.height - (point.y - rect.origin.y);
+    }
     point.x = point.x - rect.origin.x;
     point.y = rect.size.height - (point.y - rect.origin.y);
     if ( point.x < 0 || point.x >= rect.size.width ||