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];
|
||||
|
||||
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;
|
||||
} else if (window->x == SDL_WINDOWPOS_UNDEFINED) {
|
||||
rect.origin.x = 0;
|
||||
} else {
|
||||
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;
|
||||
} else if (window->y == SDL_WINDOWPOS_UNDEFINED) {
|
||||
rect.origin.y = 0;
|
||||
|
@ -471,8 +473,18 @@ Cocoa_SetWindowPosition(_THIS, SDL_Window * window)
|
|||
NSWindow *nswindow = ((SDL_WindowData *) window->driverdata)->window;
|
||||
NSRect rect;
|
||||
|
||||
rect.origin.x = window->x;
|
||||
rect.origin.y = window->y;
|
||||
if ((window->flags & SDL_WINDOW_FULLSCREEN)
|
||||
|| 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.height = window->h;
|
||||
ConvertNSRect(&rect);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue