Mercurial > sdl-ios-xcode
diff src/video/quartz/SDL_QuartzVideo.m @ 4265:c7b1d5eaa77d SDL-1.2
Fixed SDL_VIDEO_WINDOW_POS environment variable for Quartz target.
Fixes Bugzilla #628.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Tue, 29 Sep 2009 13:07:36 +0000 |
parents | 1fc8c8a5ff00 |
children | 27f972dd5aff |
line wrap: on
line diff
--- a/src/video/quartz/SDL_QuartzVideo.m Tue Sep 29 11:28:43 2009 +0000 +++ b/src/video/quartz/SDL_QuartzVideo.m Tue Sep 29 13:07:36 2009 +0000 @@ -670,7 +670,7 @@ current->h = height; contentRect = NSMakeRect (0, 0, width, height); - + /* Check if we should completely destroy the previous mode - If it is fullscreen @@ -719,13 +719,7 @@ current->flags |= SDL_RESIZABLE; } } - - if ( QZ_WindowPosition(this, &origin_x, &origin_y) ) { - center_window = 0; - contentRect.origin.x = (float)origin_x; - contentRect.origin.y = (float)origin_y; - } - + /* Manually create a window, avoids having a nib file resource */ qz_window = [ [ SDL_QuartzWindow alloc ] initWithContentRect:contentRect @@ -741,14 +735,21 @@ } return NULL; } - + /*[ qz_window setReleasedWhenClosed:YES ];*/ /* no need to set this as it's the default for NSWindows */ QZ_SetCaption(this, this->wm_title, this->wm_icon); [ qz_window setAcceptsMouseMovedEvents:YES ]; [ qz_window setViewsNeedDisplay:NO ]; - if ( center_window ) { + + if ( QZ_WindowPosition(this, &origin_x, &origin_y) ) { + /* have to flip the Y value (NSPoint is lower left corner origin) */ + [ qz_window setFrameTopLeftPoint:NSMakePoint((float) origin_x, (float) (this->info.current_h - origin_y))]; + center_window = 0; + } + else if ( center_window ) { [ qz_window center ]; } + [ qz_window setDelegate: [ [ SDL_QuartzWindowDelegate alloc ] init ] ]; [ qz_window setContentView: [ [ [ SDL_QuartzView alloc ] init ] autorelease ] ];