added a child window to one demo, added different menus attached to

different mouse buttons, for testing
Also added missing post redisplay to keep animation going


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1355 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
dcnieho 2012-07-21 14:15:39 +00:00
parent 233d93d550
commit 4a14f60a4e

View File

@ -23,6 +23,7 @@
int g_LeaveGameMode = 0;
int g_InGameMode = 0;
int g_mainwin, g_sw1;
/*
* Call this function to have some text drawn at given coordinates
@ -97,6 +98,19 @@ static float g_fTime = 0.0f;
void SampleDisplay( void )
{
int win = glutGetWindow();
if (win==g_sw1)
{
/*
* Clear the screen
*/
glClearColor(0.7f,0.7f,0.7f,1);
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glutPostWindowRedisplay(g_mainwin);
}
else
{
/*
* Clear the screen
*/
@ -136,11 +150,13 @@ void SampleDisplay( void )
PrintText( 20, 20, "Hello there cruel world!" );
else
PrintText( 20, 20, "Press ESC to leave the game mode!" );
}
/*
* And swap this context's buffers
*/
glutSwapBuffers( );
glutPostWindowRedisplay(win);
}
/*
@ -289,7 +305,7 @@ int main( int argc, char** argv )
glutAttachMenu( GLUT_LEFT_BUTTON );
glutInitWindowPosition( 200, 200 );
glutCreateWindow( "I am not Jan B." );
g_mainwin = glutCreateWindow( "I am not Jan B." );
glutDisplayFunc( SampleDisplay );
glutReshapeFunc( SampleReshape );
glutKeyboardFunc( SampleKeyboard );
@ -299,6 +315,11 @@ int main( int argc, char** argv )
glutSetMenu(subMenuA);
glutAttachMenu( GLUT_RIGHT_BUTTON);
g_sw1=glutCreateSubWindow(g_mainwin,200,0,100,100);
glutDisplayFunc( SampleDisplay );
glutSetMenu(subMenuB);
glutAttachMenu( GLUT_LEFT_BUTTON);
printf( "Testing game mode string parsing, don't panic!\n" );
glutGameModeString( "320x240:32@100" );
glutGameModeString( "640x480:16@72" );