home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 2000 April & May / AMIGA_2000_04.iso / patches / mesa3.1 / test / glut / test4.c < prev    next >
C/C++ Source or Header  |  1998-10-08  |  1KB  |  61 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 <stdio.h>
  9. #include <stdlib.h>
  10. #include <GL/glut.h>
  11.  
  12. int ch = -2;
  13. void *font = GLUT_STROKE_ROMAN;
  14.  
  15. void
  16. tick(void)
  17. {
  18.   ch += 1;
  19.   if (ch > 180) {
  20.     if (font == GLUT_STROKE_MONO_ROMAN) {
  21.       printf("PASS: test4\n");
  22.       exit(0);
  23.     }
  24.     ch = -2;
  25.     font = GLUT_STROKE_MONO_ROMAN;
  26.   }
  27.   glutPostRedisplay();
  28. }
  29.  
  30. void
  31. display(void)
  32. {
  33.   glutIdleFunc(tick);
  34.   glClear(GL_COLOR_BUFFER_BIT);
  35.   glPushMatrix();
  36.   glutStrokeCharacter(font, ch);
  37.   glPopMatrix();
  38.   glutSwapBuffers();
  39. }
  40.  
  41. int
  42. main(int argc, char **argv)
  43. {
  44.   glutInit(&argc, argv);
  45.   glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
  46.   glutInitWindowSize(200, 200);
  47.   glutCreateWindow("Test stroke fonts");
  48.   if (glutGet(GLUT_WINDOW_COLORMAP_SIZE) != 0) {
  49.     printf("FAIL: bad RGBA colormap size\n");
  50.     exit(1);
  51.   }
  52.   glMatrixMode(GL_PROJECTION);
  53.   glLoadIdentity();
  54.   gluOrtho2D(-50, 150, -50, 150);
  55.   glClearColor(0.0, 0.0, 0.0, 1.0);
  56.   glColor3f(1.0, 1.0, 1.0);
  57.   glutDisplayFunc(display);
  58.   glutMainLoop();
  59.   return 0;             /* ANSI C requires main to return int. */
  60. }
  61.