Fix SDL_GetWindowPosition to be properly monitor-aware and return the monitor x,y when fullscreened.
parent
6ebbf7ddd0
commit
e09d95c36a
|
@ -1679,12 +1679,31 @@ SDL_GetWindowPosition(SDL_Window * window, int *x, int *y)
|
|||
|
||||
/* Fullscreen windows are always at their display's origin */
|
||||
if (window->flags & SDL_WINDOW_FULLSCREEN) {
|
||||
int displayIndex;
|
||||
|
||||
if (x) {
|
||||
*x = 0;
|
||||
}
|
||||
if (y) {
|
||||
*y = 0;
|
||||
}
|
||||
|
||||
/* Find the window's monitor and update to the
|
||||
monitor offset. */
|
||||
displayIndex = SDL_GetWindowDisplayIndex(window);
|
||||
if (displayIndex >= 0) {
|
||||
SDL_Rect bounds;
|
||||
|
||||
SDL_zero(bounds);
|
||||
|
||||
SDL_GetDisplayBounds(displayIndex, &bounds);
|
||||
if (x) {
|
||||
*x = bounds.x;
|
||||
}
|
||||
if (y) {
|
||||
*y = bounds.y;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (x) {
|
||||
*x = window->x;
|
||||
|
|
Loading…
Reference in New Issue