X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;ds=sidebyside;f=src%2Ffg_init.c;h=ae87212d4cd60c92da70a5e68ca5f56a5bc6268f;hb=7ff5f34c5ec3b44e3bc6a022122fc101ed8f584f;hp=fda824de10091959b0f3af2c97b2f1699a3b84c8;hpb=223d7dc01950904a061a1151955f24c4a098c3e4;p=freeglut diff --git a/src/fg_init.c b/src/fg_init.c index fda824d..ae87212 100644 --- a/src/fg_init.c +++ b/src/fg_init.c @@ -1,5 +1,5 @@ /* - * freeglut_init.c + * fg_init.c * * Various freeglut initialization functions. * @@ -88,6 +88,7 @@ SFG_State fgState = { { -1, -1, GL_FALSE }, /* Position */ 4, /* SampleNumber */ GL_FALSE, /* SkipStaleMotion */ GL_FALSE, /* StrokeFontDrawJoinDots */ + GL_FALSE, /* AllowNegativeWindowPosition */ 1, /* OpenGL context MajorVersion */ 0, /* OpenGL context MinorVersion */ 0, /* OpenGL ContextFlags */ @@ -318,7 +319,7 @@ void fgDeinitialize( void ) /* -- INTERFACE FUNCTIONS -------------------------------------------------- */ -#if defined(NEED_XPARSEGEOMETRY_IMPL) +#if defined(NEED_XPARSEGEOMETRY_IMPL) || defined(TARGET_HOST_MS_WINDOWS) # include "util/xparsegeometry_repl.h" #endif @@ -357,7 +358,7 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) * size. */ - if (geometry ) + if ( geometry ) { unsigned int parsedWidth, parsedHeight; int mask = XParseGeometry( geometry, @@ -370,10 +371,10 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) if( (mask & (WidthValue|HeightValue)) == (WidthValue|HeightValue) ) fgState.Size.Use = GL_TRUE; - if( mask & XNegative ) + if( ( mask & XNegative ) && !fgState.AllowNegativeWindowPosition ) fgState.Position.X += fgDisplay.ScreenWidth - fgState.Size.X; - if( mask & YNegative ) + if( ( mask & YNegative ) && !fgState.AllowNegativeWindowPosition ) fgState.Position.Y += fgDisplay.ScreenHeight - fgState.Size.Y; if( (mask & (XValue|YValue)) == (XValue|YValue) ) @@ -397,7 +398,7 @@ void FGAPIENTRY glutInitWindowPosition( int x, int y ) fgState.Position.X = x; fgState.Position.Y = y; - if( ( x >= 0 ) && ( y >= 0 ) ) + if( ( ( x >= 0 ) && ( y >= 0 ) ) || fgState.AllowNegativeWindowPosition ) fgState.Position.Use = GL_TRUE; else fgState.Position.Use = GL_FALSE;