Mercurial > sdl-ios-xcode
changeset 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 | 55541ddf13e3 |
children | f4bc25567731 |
files | src/video/cocoa/SDL_cocoawindow.m |
diffstat | 1 files changed, 9 insertions(+), 0 deletions(-) [+] |
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 ||