From: Christopher John Purnell Date: Mon, 4 Aug 2003 22:43:30 +0000 (+0000) Subject: Added X11 code for glutGet(GLUT_WINDOW_BORDER_WIDTH) and X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=commitdiff_plain;h=43e84dce63f4491e23fe9ad56f5675334f7265b5;p=freeglut Added X11 code for glutGet(GLUT_WINDOW_BORDER_WIDTH) and glutGet(GLUT_WINDOW_HEADER_HEIGHT). git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@158 7f0cb862-5218-0410-a997-914c9d46530a --- diff --git a/src/freeglut_state.c b/src/freeglut_state.c index f628c7e..3fadfa6 100644 --- a/src/freeglut_state.c +++ b/src/freeglut_state.c @@ -215,6 +215,8 @@ int FGAPIENTRY glutGet( GLenum eWhat ) */ case GLUT_WINDOW_X: case GLUT_WINDOW_Y: + case GLUT_WINDOW_BORDER_WIDTH: + case GLUT_WINDOW_HEADER_HEIGHT: { int x, y; Window w; @@ -233,12 +235,24 @@ int FGAPIENTRY glutGet( GLenum eWhat ) case GLUT_WINDOW_X: return x; case GLUT_WINDOW_Y: return y; } + + if ( w == 0 ) + return( 0 ); /* Just in case */ + + XTranslateCoordinates( + fgDisplay.Display, + fgStructure.Window->Window.Handle, + w, 0, 0, &x, &y, &w); + + switch ( eWhat ) + { + case GLUT_WINDOW_BORDER_WIDTH: return x; + case GLUT_WINDOW_HEADER_HEIGHT: return y; + } } case GLUT_WINDOW_WIDTH: case GLUT_WINDOW_HEIGHT: - case GLUT_WINDOW_BORDER_WIDTH : - case GLUT_WINDOW_HEADER_HEIGHT : { XWindowAttributes winAttributes; @@ -264,8 +278,6 @@ int FGAPIENTRY glutGet( GLenum eWhat ) { case GLUT_WINDOW_WIDTH: return winAttributes.width ; case GLUT_WINDOW_HEIGHT: return winAttributes.height ; - case GLUT_WINDOW_BORDER_WIDTH : return winAttributes.border_width ; - case GLUT_WINDOW_HEADER_HEIGHT : return winAttributes.border_width * 3 ; /* a kludge for now */ } }