X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffg_init.c;h=b72c74fc1483847b3e00be95e982f647c82164c5;hb=bb596ccc60c6c7d677e4d2012bdcbdd03252a2ca;hp=74c464932ce350f7a708a2b7c330fdf91a055461;hpb=a9bd975460c45c5781ba25ca9360bbe48bdfde88;p=freeglut diff --git a/src/fg_init.c b/src/fg_init.c index 74c4649..b72c74f 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. * @@ -73,6 +73,7 @@ SFG_State fgState = { { -1, -1, GL_FALSE }, /* Position */ 0, /* ActiveMenus */ NULL, /* MenuStateCallback */ NULL, /* MenuStatusCallback */ + FREEGLUT_MENU_FONT, { -1, -1, GL_TRUE }, /* GameModeSize */ -1, /* GameModeDepth */ -1, /* GameModeRefresh */ @@ -86,6 +87,8 @@ SFG_State fgState = { { -1, -1, GL_FALSE }, /* Position */ 1, /* AuxiliaryBufferNumber */ 4, /* SampleNumber */ GL_FALSE, /* SkipStaleMotion */ + GL_FALSE, /* StrokeFontDrawJoinDots */ + GL_FALSE, /* AllowNegativeWindowPosition */ 1, /* OpenGL context MajorVersion */ 0, /* OpenGL context MinorVersion */ 0, /* OpenGL ContextFlags */ @@ -103,14 +106,13 @@ extern void fgPlatformDeinitialiseInputDevices ( void ); extern void fgPlatformCloseDisplay ( void ); extern void fgPlatformDestroyContext ( SFG_PlatformDisplay pDisplay, SFG_WindowContextType MContext ); - void fghParseCommandLineArguments ( int* pargc, char** argv, char **pDisplayName, char **pGeometry ) { #ifndef _WIN32_WCE int i, j, argc = *pargc; { - /* check if GLUT_FPS env var is set */ + /* check if GLUT_FPS env var is set */ const char *fps = getenv( "GLUT_FPS" ); if( fps ) @@ -229,7 +231,7 @@ void fgDeinitialize( void ) return; } - /* If we're in game mode, we want to leave game mode */ + /* If we're in game mode, we want to leave game mode */ if( fgStructure.GameModeWindow ) { glutLeaveGameMode(); } @@ -237,7 +239,7 @@ void fgDeinitialize( void ) /* If there was a menu created, destroy the rendering context */ if( fgStructure.MenuContext ) { - fgPlatformDestroyContext (fgDisplay.pDisplay, fgStructure.MenuContext->MContext ); + fgPlatformDestroyContext (fgDisplay.pDisplay, fgStructure.MenuContext->MContext ); free( fgStructure.MenuContext ); fgStructure.MenuContext = NULL; } @@ -256,9 +258,9 @@ void fgDeinitialize( void ) free( timer ); } - fgPlatformDeinitialiseInputDevices (); + fgPlatformDeinitialiseInputDevices (); - fgState.MouseWheelTicks = 0; + fgState.MouseWheelTicks = 0; fgState.MajorVersion = 1; fgState.MinorVersion = 0; @@ -310,7 +312,7 @@ void fgDeinitialize( void ) fgState.ProgramName = NULL; } - fgPlatformCloseDisplay (); + fgPlatformCloseDisplay (); fgState.Initialised = GL_FALSE; } @@ -342,10 +344,7 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) fgCreateStructure( ); - /* Get start time */ - fgState.Time = fgSystemTime(); - - fghParseCommandLineArguments ( pargc, argv, &displayName, &geometry ); + fghParseCommandLineArguments ( pargc, argv, &displayName, &geometry ); /* * Have the display created now. If there wasn't a "-display" @@ -359,7 +358,7 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) * size. */ - if (geometry ) + if ( geometry ) { unsigned int parsedWidth, parsedHeight; int mask = XParseGeometry( geometry, @@ -372,17 +371,15 @@ 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) ) fgState.Position.Use = GL_TRUE; } - - fgInitGL2(); } /* @@ -401,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; @@ -671,19 +668,19 @@ void FGAPIENTRY glutInitContextProfile( int profile ) /* * Sets the user error handler (note the use of va_list for the args to the fmt) */ -void FGAPIENTRY glutInitErrorFunc( void (* vfgError) ( const char *fmt, va_list ap ) ) +void FGAPIENTRY glutInitErrorFunc( FGError callback ) { /* This allows user programs to handle freeglut errors */ - fgState.ErrorFunc = vfgError; + fgState.ErrorFunc = callback; } /* * Sets the user warning handler (note the use of va_list for the args to the fmt) */ -void FGAPIENTRY glutInitWarningFunc( void (* vfgWarning) ( const char *fmt, va_list ap ) ) +void FGAPIENTRY glutInitWarningFunc( FGWarning callback ) { /* This allows user programs to handle freeglut warnings */ - fgState.WarningFunc = vfgWarning; + fgState.WarningFunc = callback; } /*** END OF FILE ***/