Fixed bug using SDL_WINDOWPOS_CENTERED with SDL_SetWindowPosition()
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403541
This commit is contained in:
parent
609e3b3c91
commit
db32da3f78
1 changed files with 16 additions and 4 deletions
|
@ -387,14 +387,16 @@ Cocoa_CreateWindow(_THIS, SDL_Window * window)
|
||||||
|
|
||||||
pool = [[NSAutoreleasePool alloc] init];
|
pool = [[NSAutoreleasePool alloc] init];
|
||||||
|
|
||||||
if (window->x == SDL_WINDOWPOS_CENTERED) {
|
if ((window->flags & SDL_WINDOW_FULLSCREEN)
|
||||||
|
|| window->x == SDL_WINDOWPOS_CENTERED) {
|
||||||
rect.origin.x = (CGDisplayPixelsWide(kCGDirectMainDisplay) - window->w) / 2;
|
rect.origin.x = (CGDisplayPixelsWide(kCGDirectMainDisplay) - window->w) / 2;
|
||||||
} else if (window->x == SDL_WINDOWPOS_UNDEFINED) {
|
} else if (window->x == SDL_WINDOWPOS_UNDEFINED) {
|
||||||
rect.origin.x = 0;
|
rect.origin.x = 0;
|
||||||
} else {
|
} else {
|
||||||
rect.origin.x = window->x;
|
rect.origin.x = window->x;
|
||||||
}
|
}
|
||||||
if (window->y == SDL_WINDOWPOS_CENTERED) {
|
if ((window->flags & SDL_WINDOW_FULLSCREEN)
|
||||||
|
|| window->y == SDL_WINDOWPOS_CENTERED) {
|
||||||
rect.origin.y = (CGDisplayPixelsHigh(kCGDirectMainDisplay) - window->h) / 2;
|
rect.origin.y = (CGDisplayPixelsHigh(kCGDirectMainDisplay) - window->h) / 2;
|
||||||
} else if (window->y == SDL_WINDOWPOS_UNDEFINED) {
|
} else if (window->y == SDL_WINDOWPOS_UNDEFINED) {
|
||||||
rect.origin.y = 0;
|
rect.origin.y = 0;
|
||||||
|
@ -471,8 +473,18 @@ Cocoa_SetWindowPosition(_THIS, SDL_Window * window)
|
||||||
NSWindow *nswindow = ((SDL_WindowData *) window->driverdata)->window;
|
NSWindow *nswindow = ((SDL_WindowData *) window->driverdata)->window;
|
||||||
NSRect rect;
|
NSRect rect;
|
||||||
|
|
||||||
rect.origin.x = window->x;
|
if ((window->flags & SDL_WINDOW_FULLSCREEN)
|
||||||
rect.origin.y = window->y;
|
|| window->x == SDL_WINDOWPOS_CENTERED) {
|
||||||
|
rect.origin.x = (CGDisplayPixelsWide(kCGDirectMainDisplay) - window->w) / 2;
|
||||||
|
} else {
|
||||||
|
rect.origin.x = window->x;
|
||||||
|
}
|
||||||
|
if ((window->flags & SDL_WINDOW_FULLSCREEN)
|
||||||
|
|| window->y == SDL_WINDOWPOS_CENTERED) {
|
||||||
|
rect.origin.y = (CGDisplayPixelsHigh(kCGDirectMainDisplay) - window->h) / 2;
|
||||||
|
} else {
|
||||||
|
rect.origin.y = window->y;
|
||||||
|
}
|
||||||
rect.size.width = window->w;
|
rect.size.width = window->w;
|
||||||
rect.size.height = window->h;
|
rect.size.height = window->h;
|
||||||
ConvertNSRect(&rect);
|
ConvertNSRect(&rect);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue