X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_state.c;h=3b6c7180524e4d253e898340614aed0bb07378fb;hb=92f148dcffee96fc7f90ef4f947b388d39ef320c;hp=f2106121da123d19cbcd49e18a90b7d685e665dc;hpb=bc0d27e8c973c916fc87fa752e60a9de7d54b55b;p=freeglut diff --git a/src/freeglut_state.c b/src/freeglut_state.c index f210612..3b6c718 100644 --- a/src/freeglut_state.c +++ b/src/freeglut_state.c @@ -72,51 +72,55 @@ static int fghGetConfig( int attribute ) */ void FGAPIENTRY glutSetOption( GLenum eWhat, int value ) { - freeglut_assert_ready; - - /* - * XXX In chronological code add order. (WHY in that order?) - */ - switch( eWhat ) - { - case GLUT_INIT_WINDOW_X: - fgState.Position.X = (GLint)value; - break; - - case GLUT_INIT_WINDOW_Y: - fgState.Position.Y = (GLint)value; - break; - - case GLUT_INIT_WINDOW_WIDTH: - fgState.Size.X = (GLint)value; - break; - - case GLUT_INIT_WINDOW_HEIGHT: - fgState.Size.Y = (GLint)value; - break; - - case GLUT_INIT_DISPLAY_MODE: - fgState.DisplayMode = (unsigned int)value; - break; - - case GLUT_ACTION_ON_WINDOW_CLOSE: - fgState.ActionOnWindowClose = value; - break; - - case GLUT_RENDERING_CONTEXT: - fgState.UseCurrentContext = - ( value == GLUT_USE_CURRENT_CONTEXT ) ? GL_TRUE : GL_FALSE; - break; - - case GLUT_WINDOW_CURSOR: - if( fgStructure.Window != NULL ) - fgStructure.Window->State.Cursor = value; - break; - - default: - fgWarning( "glutSetOption(): missing enum handle %i\n", eWhat ); - break; - } + freeglut_assert_ready; + + /* + * XXX In chronological code add order. (WHY in that order?) + */ + switch( eWhat ) + { + case GLUT_INIT_WINDOW_X: + fgState.Position.X = (GLint)value; + break; + + case GLUT_INIT_WINDOW_Y: + fgState.Position.Y = (GLint)value; + break; + + case GLUT_INIT_WINDOW_WIDTH: + fgState.Size.X = (GLint)value; + break; + + case GLUT_INIT_WINDOW_HEIGHT: + fgState.Size.Y = (GLint)value; + break; + + case GLUT_INIT_DISPLAY_MODE: + fgState.DisplayMode = (unsigned int)value; + break; + + case GLUT_ACTION_ON_WINDOW_CLOSE: + fgState.ActionOnWindowClose = value; + break; + + case GLUT_RENDERING_CONTEXT: + fgState.UseCurrentContext = + ( value == GLUT_USE_CURRENT_CONTEXT ) ? GL_TRUE : GL_FALSE; + break; + + case GLUT_DIRECT_RENDERING: + fgState.DirectContext = value; + break; + + case GLUT_WINDOW_CURSOR: + if( fgStructure.Window != NULL ) + fgStructure.Window->State.Cursor = value; + break; + + default: + fgWarning( "glutSetOption(): missing enum handle %i\n", eWhat ); + break; + } } /* @@ -386,7 +390,7 @@ int FGAPIENTRY glutGet( GLenum eWhat ) winRect.top += GetSystemMetrics( SM_CYSIZEFRAME ) + GetSystemMetrics( SM_CYCAPTION ); winRect.bottom -= GetSystemMetrics( SM_CYSIZEFRAME ); } -#endif //TARGET_HOST_WINCE +#endif /* !TARGET_HOST_WINCE */ switch( eWhat ) { @@ -403,14 +407,14 @@ int FGAPIENTRY glutGet( GLenum eWhat ) return 0; #else return GetSystemMetrics( SM_CXSIZEFRAME ); -#endif //TARGET_HOST_WINCE +#endif /* !TARGET_HOST_WINCE */ case GLUT_WINDOW_HEADER_HEIGHT : #if TARGET_HOST_WINCE return 0; #else return GetSystemMetrics( SM_CYCAPTION ); -#endif //TARGET_HOST_WINCE +#endif /* TARGET_HOST_WINCE */ case GLUT_DISPLAY_MODE_POSSIBLE: #if TARGET_HOST_WINCE @@ -418,14 +422,14 @@ int FGAPIENTRY glutGet( GLenum eWhat ) #else return fgSetupPixelFormat( fgStructure.Window, GL_TRUE, PFD_MAIN_PLANE ); -#endif //TARGET_HOST_WINCE +#endif /* TARGET_HOST_WINCE */ case GLUT_WINDOW_FORMAT_ID: #if !TARGET_HOST_WINCE if( fgStructure.Window != NULL ) return GetPixelFormat( fgStructure.Window->Window.Device ); -#endif //TARGET_HOST_WINCE +#endif /* TARGET_HOST_WINCE */ return 0; #endif @@ -463,6 +467,10 @@ int FGAPIENTRY glutGet( GLenum eWhat ) return fgState.UseCurrentContext ? GLUT_USE_CURRENT_CONTEXT : GLUT_CREATE_NEW_CONTEXT; + case GLUT_DIRECT_RENDERING: + return fgState.DirectContext; + break; + default: fgWarning( "glutGet(): missing enum handle %i\n", eWhat ); break; @@ -538,7 +546,7 @@ int FGAPIENTRY glutDeviceGet( GLenum eWhat ) return 1; #else return GetSystemMetrics( SM_CMOUSEBUTTONS ); -#endif //TARGET_HOST_WINCE +#endif /* TARGET_HOST_WINCE */ #endif