Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Fixed bug using SDL_WINDOWPOS_CENTERED with SDL_SetWindowPosition()
Browse files Browse the repository at this point in the history
  • Loading branch information
slouken committed Feb 19, 2009
1 parent f9e9515 commit 88b4006
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions src/video/cocoa/SDL_cocoawindow.m
Expand Up @@ -387,14 +387,16 @@ - (BOOL)canBecomeMainWindow

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;
Expand Down Expand Up @@ -471,8 +473,18 @@ - (BOOL)canBecomeMainWindow
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);
Expand Down

0 comments on commit 88b4006

Please sign in to comment.