Addressing Ubuntu bug 686315 reported as freeglut bug 3407093 -- rearranging the...
[freeglut] / progs / demos / One / one.c
index 93e5144..1b35f43 100644 (file)
@@ -22,7 +22,7 @@
 #include <GL/freeglut.h>
 
 int g_LeaveGameMode = 0;
-int g_InGameMode = 1;
+int g_InGameMode = 0;
 
 /*
  * Call this function to have some text drawn at given coordinates
@@ -117,12 +117,12 @@ void SampleDisplay( void )
      * And then drawn...
      */
     glColor3f( 1, 1, 0 );
-    //glutWireCube( 20.0 );
+    /* glutWireCube( 20.0 ); */
     glutWireTeapot( 20.0 );
-    //glutWireSpher( 15.0, 15, 15 );
-    //glColor3f( 0, 1, 0 );
-    //glutWireCube( 30.0 );
-    //glutSolidCone( 10, 20, 10, 2 );
+    /* glutWireSpher( 15.0, 15, 15 ); */
+    /* glColor3f( 0, 1, 0 ); */
+    /* glutWireCube( 30.0 ); */
+    /* glutSolidCone( 10, 20, 10, 2 ); */
 
     /*
      * Don't forget about the model-view matrix
@@ -258,6 +258,8 @@ int main( int argc, char** argv )
 
     glutInit( &argc, argv );
 
+    glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE,GLUT_ACTION_GLUTMAINLOOP_RETURNS);
+
     subMenuA = glutCreateMenu( SampleMenu );
     glutAddMenuEntry( "Sub menu A1 (01)", 1 );
     glutAddMenuEntry( "Sub menu A2 (02)", 2 );
@@ -301,18 +303,24 @@ int main( int argc, char** argv )
     glutGameModeString( "1024x768" );
     glutGameModeString( ":32@120" );
     glutGameModeString( "Toudi glupcze, Danwin bedzie moj!" );
-    glutGameModeString( "640x480:16@72" );
+    
+    glutGameModeString( "640x480:37@300" );    /* this one should fail */
+    glutEnterGameMode();
 
+    glutGameModeString( "800x600" );    /* this one is likely to succeed */
     glutEnterGameMode();
+
+    if (glutGameModeGet(GLUT_GAME_MODE_ACTIVE))
+        g_InGameMode = 1;
     glutDisplayFunc( SampleDisplay );
     glutReshapeFunc( SampleReshape );
     glutKeyboardFunc( SampleGameModeKeyboard );
     glutIdleFunc( SampleIdle );
     glutAttachMenu( GLUT_LEFT_BUTTON );
 
-    printf( "current window is %ix%i+%i+%i",
-            glutGet( GLUT_WINDOW_X ), glutGet( GLUT_WINDOW_Y ),
-            glutGet( GLUT_WINDOW_WIDTH ), glutGet( GLUT_WINDOW_HEIGHT )
+    printf( "current window is %ix%i at (%i,%i)\n",
+        glutGet( GLUT_WINDOW_WIDTH ), glutGet( GLUT_WINDOW_HEIGHT ),
+        glutGet( GLUT_WINDOW_X ), glutGet( GLUT_WINDOW_Y )
     );
 
     /*
@@ -328,4 +336,4 @@ int main( int argc, char** argv )
     return EXIT_SUCCESS;
 }
 
-/*** END OF FILE ***/
+/*** END OF FILE ***/
\ No newline at end of file