X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fmswin%2Ffg_state_mswin.c;h=27a94616b1f7c7bbbf4852af12065864e57f3867;hb=77ee35c8d522dddac4e2c88e8de166491d4d762c;hp=5dc859c5e74be7048ab84dbbdeb5d5fbf7b3c619;hpb=0c60c0afc427ba467439122f60a1a76dca023f62;p=freeglut diff --git a/src/mswin/fg_state_mswin.c b/src/mswin/fg_state_mswin.c index 5dc859c..27a9461 100644 --- a/src/mswin/fg_state_mswin.c +++ b/src/mswin/fg_state_mswin.c @@ -141,10 +141,20 @@ int fgPlatformGlutGet ( GLenum eWhat ) return returnValue; case GLUT_WINDOW_BUFFER_SIZE: - returnValue = 1 ; /* TODO????? */ - return returnValue; + { + PIXELFORMATDESCRIPTOR pfd; + HDC hdc = fgStructure.CurrentWindow->Window.pContext.Device; + int iPixelFormat = GetPixelFormat( hdc ); + DescribePixelFormat(hdc, iPixelFormat, sizeof(PIXELFORMATDESCRIPTOR), &pfd); + + returnValue = pfd.cColorBits; + if (pfd.iPixelType==PFD_TYPE_RGBA) + returnValue += pfd.cAlphaBits; + + return returnValue; + } case GLUT_WINDOW_STENCIL_SIZE: - returnValue = 0 ; /* TODO????? */ + glGetIntegerv ( GL_STENCIL_BITS, &returnValue ); return returnValue; case GLUT_WINDOW_X: @@ -203,8 +213,10 @@ int fgPlatformGlutGet ( GLenum eWhat ) break; case GLUT_WINDOW_WIDTH: + freeglut_return_val_if_fail( fgStructure.CurrentWindow != NULL, 0 ); return fgStructure.CurrentWindow->State.Width; case GLUT_WINDOW_HEIGHT: + freeglut_return_val_if_fail( fgStructure.CurrentWindow != NULL, 0 ); return fgStructure.CurrentWindow->State.Height; case GLUT_WINDOW_BORDER_WIDTH :