Sam Lantinga d4c0f498db Fixed bug 4255 - SDL_GetGlobalMouseState() returns incorrect Y on secondary display
Julian Raschke

I use an open Mac laptop with an additional external monitor. The coordinate spaces from SDL_GetGlobalMouseState() and SDL_GetWindowPosition() match on the primary display, but not on the secondary display.

Cocoa window coordinates are vertically flipped in relation to the primary display:

https://github.com/spurious/SDL-mirror/blob/release-2.0.8/src/video/cocoa/SDL_cocoawindow.m#L219-L222

However, Cocoa_GetGlobalMouseState inverts the cursor Y coordinate per-display:

https://github.com/spurious/SDL-mirror/blob/release-2.0.8/src/video/cocoa/SDL_cocoamouse.m#L320-L323

Suggested fix: Replace the for-loop with this simpler calculation:

    *x = (int) cocoaLocation.x;
    *y = (int) (CGDisplayPixelsHigh(kCGDirectMainDisplay) - cocoaLocation.y);
2019-01-04 22:09:38 -08:00
..
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00