# HG changeset patch # User Sam Lantinga # Date 1256186771 0 # Node ID c8f580ebc96a6347d6dada469fbff77540f7d1e7 # Parent 55541ddf13e3446d144f7b1523b5bac48cb8fabf 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. diff -r 55541ddf13e3 -r c8f580ebc96a src/video/cocoa/SDL_cocoawindow.m --- 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 ||