# HG changeset patch # User Sam Lantinga # Date 1058935184 0 # Node ID 714053f573e742d1b057c853438adeec9791390c # Parent 864e2d2a9a5531697392e25b5d86dd948c230903 Date: Thu, 24 Jul 2003 01:40:17 +0200 From: Andrew Straw Subject: Patch: Mac OS X window position environment variable diff -r 864e2d2a9a55 -r 714053f573e7 src/video/quartz/SDL_QuartzVideo.m --- a/src/video/quartz/SDL_QuartzVideo.m Tue Jul 22 15:33:28 2003 +0000 +++ b/src/video/quartz/SDL_QuartzVideo.m Wed Jul 23 04:39:44 2003 +0000 @@ -253,6 +253,17 @@ return client_mode_list; } +static SDL_bool QZ_WindowPosition(_THIS, int *x, int *y) +{ + const char *window = getenv("SDL_VIDEO_WINDOW_POS"); + if ( window ) { + if ( sscanf(window, "%d,%d", x, y) == 2 ) { + return SDL_TRUE; + } + } + return SDL_FALSE; +} + /* Gamma functions to try to hide the flash from a rez switch Fade the display from normal to black @@ -569,6 +580,8 @@ int height, int bpp, Uint32 flags) { unsigned int style; NSRect contentRect; + int center_window = 1; + int origin_x, origin_y; current->flags = 0; current->w = width; @@ -606,6 +619,12 @@ } } + 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 @@ -622,7 +641,9 @@ QZ_SetCaption(this, this->wm_title, this->wm_icon); [ qz_window setAcceptsMouseMovedEvents:YES ]; [ qz_window setViewsNeedDisplay:NO ]; - [ qz_window center ]; + if ( center_window ) { + [ qz_window center ]; + } [ qz_window setDelegate: [ [ [ SDL_QuartzWindowDelegate alloc ] init ] autorelease ] ]; }