X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_state.c;h=3b6c7180524e4d253e898340614aed0bb07378fb;hb=69f96533fcedaf91c2b6c53da6e1c20fb145b425;hp=7b7eedc0eaaa6721f94ff3193aa3e682760b509c;hpb=d67937396dc33c86017012859b2d9ed010fc6c88;p=freeglut diff --git a/src/freeglut_state.c b/src/freeglut_state.c index 7b7eedc..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 ) { @@ -400,32 +404,32 @@ int FGAPIENTRY glutGet( GLenum eWhat ) case GLUT_WINDOW_BORDER_WIDTH : #if TARGET_HOST_WINCE - return 0; + 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; + return 0; #else return GetSystemMetrics( SM_CYCAPTION ); -#endif //TARGET_HOST_WINCE +#endif /* TARGET_HOST_WINCE */ case GLUT_DISPLAY_MODE_POSSIBLE: #if TARGET_HOST_WINCE - return GL_FALSE; + return GL_FALSE; #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; @@ -535,10 +543,10 @@ int FGAPIENTRY glutDeviceGet( GLenum eWhat ) * We are much more fortunate under Win32 about this... */ #if TARGET_HOST_WINCE - return 1; + return 1; #else return GetSystemMetrics( SM_CMOUSEBUTTONS ); -#endif //TARGET_HOST_WINCE +#endif /* TARGET_HOST_WINCE */ #endif