X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=progs%2Fdemos%2FResizer%2FResizer.cpp;h=85ce4b890e0dbd21a0c5f4e581116d3eade8d4c5;hb=71c0f11e25b31a2a1ccec9e6a01e4abdbc90e5f2;hp=592c673d86f0bfc7315e4cf1318676d3f825f568;hpb=0419dcb7f0e2233947f76f54cbb635ddf9e03bbb;p=freeglut diff --git a/progs/demos/Resizer/Resizer.cpp b/progs/demos/Resizer/Resizer.cpp index 592c673..85ce4b8 100644 --- a/progs/demos/Resizer/Resizer.cpp +++ b/progs/demos/Resizer/Resizer.cpp @@ -194,26 +194,39 @@ void SampleKeyboard( unsigned char cChar, int nMouseX, int nMouseY ) glutTimerFunc(2000, UnhideTimer, nWindow); } glutHideWindow(); - + break; case 'p': case 'P': if (nChildWindow!=-1 && cChar=='p') /* Capital P always changes pointer for the main window*/ { glutSetWindow(nChildWindow); - if (glutGet(GLUT_WINDOW_CURSOR)==GLUT_CURSOR_TOP_SIDE) - glutSetCursor(GLUT_CURSOR_RIGHT_ARROW); + if (glutGet(GLUT_WINDOW_CURSOR)==GLUT_CURSOR_TOP_SIDE) + { + glutSetCursor(GLUT_CURSOR_RIGHT_ARROW); + printf("reverting child window cursor\n"); + } else - glutSetCursor(GLUT_CURSOR_TOP_SIDE); + { + glutSetCursor(GLUT_CURSOR_TOP_SIDE); + printf("changing child window cursor\n"); + } } else { glutSetWindow(nWindow); if (glutGet(GLUT_WINDOW_CURSOR)==GLUT_CURSOR_CYCLE) - glutSetCursor(GLUT_CURSOR_RIGHT_ARROW); + { + glutSetCursor(GLUT_CURSOR_RIGHT_ARROW); + printf("reverting main window cursor\n"); + } else - glutSetCursor(GLUT_CURSOR_CYCLE); + { + glutSetCursor(GLUT_CURSOR_CYCLE); + printf("changing main window cursor\n"); + } } + break; default: break; @@ -275,6 +288,7 @@ void WindowStatus(int state) void Redisplay(void) { int win = glutGetWindow(); + int viewport[4]; if (win==nWindow) { @@ -291,6 +305,14 @@ void Redisplay(void) glClear(GL_COLOR_BUFFER_BIT); DrawQuad(); + if (win==nWindow) + { + glColor3f(1, 1, 0); + glGetIntegerv(GL_VIEWPORT, viewport); + glRasterPos2i(2, -glutBitmapHeight(GLUT_BITMAP_9_BY_15)+3+viewport[3]); + glutBitmapString(GLUT_BITMAP_9_BY_15, (unsigned char*)"press f/r/m/d/c/i/h/p"); + } + glutSwapBuffers(); glutPostWindowRedisplay(win); } @@ -324,7 +346,7 @@ void Timer(int unused) width, height, x ,y, x-border, - y-border-caption); + y-caption); else printf("child window %dx%d, top-left of client at: (%d,%d), relative to parent\n", width, height, @@ -370,4 +392,4 @@ int main(int argc, char* argv[]) printf("glutMainLoop returned\n"); return EXIT_SUCCESS; -} \ No newline at end of file +}