X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_state.c;h=0ab3efabe5a1d4e4434b3c1e5776e614cdd3363e;hb=841aead075c529c89853de6f25f97b61d0b3f1ef;hp=cca7b9226d45aef68c43b00c441a4f9da876ec31;hpb=30971e75717f3d7b826714fbbb1171dfaf9164cf;p=freeglut diff --git a/src/freeglut_state.c b/src/freeglut_state.c index cca7b92..0ab3efa 100644 --- a/src/freeglut_state.c +++ b/src/freeglut_state.c @@ -64,6 +64,30 @@ static int fghGetConfig( int attribute ) } #endif +/* Check if the window is in full screen state. */ +static int fghCheckFullScreen(void) +{ +#if TARGET_HOST_POSIX_X11 + + int result; + + result = 0; + if (fgDisplay.StateFullScreen != None) + { + result = fgHintPresent(fgStructure.CurrentWindow->Window.Handle, + fgDisplay.State, + fgDisplay.StateFullScreen); + } + + return result; + +#else + + return 0; + +#endif +} + /* -- INTERFACE FUNCTIONS -------------------------------------------------- */ /* @@ -179,6 +203,9 @@ int FGAPIENTRY glutGet( GLenum eWhat ) case GLUT_INIT_WINDOW_HEIGHT: return fgState.Size.Use ? fgState.Size.Y : -1 ; case GLUT_INIT_DISPLAY_MODE: return fgState.DisplayMode ; + case GLUT_INIT_MAJOR_VERSION: return fgState.MajorVersion ; + case GLUT_INIT_MINOR_VERSION: return fgState.MinorVersion ; + case GLUT_INIT_FLAGS: return fgState.ContextFlags ; #if TARGET_HOST_POSIX_X11 /* @@ -512,6 +539,10 @@ int FGAPIENTRY glutGet( GLenum eWhat ) return fgState.DirectContext; break; + case GLUT_FULL_SCREEN: + return fghCheckFullScreen(); + break; + default: fgWarning( "glutGet(): missing enum handle %d", eWhat ); break;