Mercurial > sdl-ios-xcode
changeset 657:714053f573e7
Date: Thu, 24 Jul 2003 01:40:17 +0200
From: Andrew Straw
Subject: Patch: Mac OS X window position environment variable
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 23 Jul 2003 04:39:44 +0000 |
parents | 864e2d2a9a55 |
children | e71b7108d2d7 |
files | src/video/quartz/SDL_QuartzVideo.m |
diffstat | 1 files changed, 22 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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 ] ]; }