home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 2000 April & May / AMIGA_2000_04.iso / patches / mesa3.1 / test / glut / test1.c < prev    next >
C/C++ Source or Header  |  1999-08-23  |  2KB  |  91 lines

  1.  
  2. /* Copyright (c) Mark J. Kilgard, 1994. */
  3.  
  4. /* This program is freely distributable without licensing fees 
  5.    and is provided without guarantee or warrantee expressed or 
  6.    implied. This program is -not- in the public domain. */
  7.  
  8. #include <stdlib.h>
  9. #include <stdio.h>
  10. #include <GL/glut.h>
  11.  
  12. char *fake_argv[] =
  13. {
  14.   "program",
  15.   "-display",
  16.   ":0",
  17.   "-geometry",
  18.   "500x400-34-23",
  19.   "-indirect",
  20.   "-iconic",
  21.   NULL};
  22.  
  23. int fake_argc = sizeof(fake_argv) / sizeof(char *) - 1;
  24.  
  25. int
  26. main(int argc, char **argv)
  27. {
  28.   char *altdisplay;
  29.   int screen_width, screen_height;
  30.   int got;
  31.  
  32.   altdisplay = getenv("GLUT_TEST_ALT_DISPLAY");
  33.   if (altdisplay) {
  34.     fake_argv[2] = altdisplay;
  35.   }
  36.   glutInit(&fake_argc, fake_argv);
  37.   if (fake_argc != 1) {
  38.     printf("FAIL: argument processing\n");
  39.     exit(1);
  40.   }
  41.   if ((got = glutGet(GLUT_INIT_WINDOW_WIDTH)) != 500) {
  42.     printf("FAIL: width wrong, got %d, not 500\n", got);
  43.     exit(1);
  44.   }
  45.   if ((got = glutGet(GLUT_INIT_WINDOW_HEIGHT)) != 400) {
  46.     printf("FAIL: height wrong, got %d, not 400\n", got);
  47.     exit(1);
  48.   }
  49.   screen_width = glutGet(GLUT_SCREEN_WIDTH);
  50.   screen_height = glutGet(GLUT_SCREEN_HEIGHT);
  51.   if ((got = glutGet(GLUT_INIT_WINDOW_X)) != (screen_width - 500 - 34)) {
  52.     printf("FAIL: x wrong, got %d, not %d\n", got, screen_width - 500 - 34);
  53.     exit(1);
  54.   }
  55.   if ((got = glutGet(GLUT_INIT_WINDOW_Y)) != (screen_height - 400 - 23)) {
  56.     printf("FAIL: y wrong, got %d, not %d\n", got, screen_height - 400 - 23);
  57.     exit(1);
  58.   }
  59.   if ((got = glutGet(GLUT_INIT_DISPLAY_MODE)) != (GLUT_RGBA | GLUT_SINGLE | GLUT_DEPTH)) {
  60.     printf("FAIL: displaymode wrong (0x%08x != 0x%08x)\n", GLUT_RGBA | GLUT_SINGLE | GLUT_DEPTH, got);
  61.     exit(1);
  62.   }
  63.   glutInitWindowPosition(10, 10);
  64.   glutInitWindowSize(200, 200);
  65.   glutInitDisplayMode(
  66.     GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH | GLUT_STENCIL);
  67.   if (glutGet(GLUT_INIT_WINDOW_WIDTH) != 200) {
  68.     printf("FAIL: width wrong\n");
  69.     exit(1);
  70.   }
  71.   if (glutGet(GLUT_INIT_WINDOW_HEIGHT) != 200) {
  72.     printf("FAIL: height wrong\n");
  73.     exit(1);
  74.   }
  75.   if (glutGet(GLUT_INIT_WINDOW_X) != 10) {
  76.     printf("FAIL: x wrong\n");
  77.     exit(1);
  78.   }
  79.   if (glutGet(GLUT_INIT_WINDOW_Y) != 10) {
  80.     printf("FAIL: y wrong\n");
  81.     exit(1);
  82.   }
  83.   if (glutGet(GLUT_INIT_DISPLAY_MODE) !=
  84.     (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH | GLUT_STENCIL)) {
  85.     printf("FAIL: displaymode wrong\n");
  86.     exit(1);
  87.   }
  88.   printf("PASS: test1\n");
  89.   return 0;             /* ANSI C requires main to return int. */
  90. }
  91.