X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffg_state.c;h=7f8d3be73883b3b30ffe1f28356719ebb280db10;hb=a67edfb64096e4da7f8b7d6cd34de78c7fc72c54;hp=6a9387d6c1885e19ff717d26fd3c0da7e9d97450;hpb=05a61612c9b96b61ca9917def47eb59b7bd195c8;p=freeglut diff --git a/src/fg_state.c b/src/fg_state.c index 6a9387d..7f8d3be 100644 --- a/src/fg_state.c +++ b/src/fg_state.c @@ -1,5 +1,5 @@ /* - * freeglut_state.c + * fg_state.c * * Freeglut state query methods. * @@ -61,9 +61,6 @@ void FGAPIENTRY glutSetOption( GLenum eWhat, int value ) { FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutSetOption" ); - /* - * XXX In chronological code add order. (WHY in that order?) - */ switch( eWhat ) { case GLUT_INIT_WINDOW_X: @@ -113,24 +110,20 @@ void FGAPIENTRY glutSetOption( GLenum eWhat, int value ) break; case GLUT_SKIP_STALE_MOTION_EVENTS: - fgState.SkipStaleMotion = value; + fgState.SkipStaleMotion = !!value; break; case GLUT_GEOMETRY_VISUALIZE_NORMALS: if( fgStructure.CurrentWindow != NULL ) - fgStructure.CurrentWindow->State.VisualizeNormals = value; + fgStructure.CurrentWindow->State.VisualizeNormals = !!value; break; - case GLUT_MENU_FONT: - { - void* fontID = (void*)value; - SFG_Font* font; - font = fghFontByID( fontID ); - if (!font) - fgWarning("glutSetOption(GLUT_MENU_FONT,...): bitmap font 0x%08x not found. Make sure you're not passing a stroke font. Ignoring...\n",fontID); - else - fgState.MenuFont = fontID; - } + case GLUT_STROKE_FONT_DRAW_JOIN_DOTS: + fgState.StrokeFontDrawJoinDots = !!value; + break; + + case GLUT_ALLOW_NEGATIVE_WINDOW_POSITION: + fgState.AllowNegativeWindowPosition = !!value; break; default: @@ -161,7 +154,6 @@ int FGAPIENTRY glutGet( GLenum eWhat ) FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutGet" ); - /* XXX In chronological code add order. (WHY in that order?) */ switch( eWhat ) { /* Following values are stored in fgState and fgDisplay global structures */ @@ -234,11 +226,16 @@ int FGAPIENTRY glutGet( GLenum eWhat ) return GL_FALSE; return fgStructure.CurrentWindow->State.VisualizeNormals; + case GLUT_STROKE_FONT_DRAW_JOIN_DOTS: + return fgState.StrokeFontDrawJoinDots; + + case GLUT_ALLOW_NEGATIVE_WINDOW_POSITION: + return fgState.AllowNegativeWindowPosition; + default: return fgPlatformGlutGet ( eWhat ); break; } - return -1; } /* @@ -298,9 +295,6 @@ int FGAPIENTRY glutDeviceGet( GLenum eWhat ) default: return fgPlatformGlutDeviceGet ( eWhat ); } - - /* And now -- the failure. */ - return -1; } /*