test4.c
上传用户:xk288cn
上传日期:2007-05-28
资源大小:4876k
文件大小:1k
源码类别:

GIS编程

开发平台:

Visual C++

  1. /* Copyright (c) Mark J. Kilgard, 1994. */
  2. /* This program is freely distributable without licensing fees 
  3.    and is provided without guarantee or warrantee expressed or 
  4.    implied. This program is -not- in the public domain. */
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <GL/glut.h>
  8. int ch = -2;
  9. void *font = GLUT_STROKE_ROMAN;
  10. void
  11. tick(void)
  12. {
  13.   ch += 1;
  14.   if (ch > 180) {
  15.     if (font == GLUT_STROKE_MONO_ROMAN) {
  16.       printf("PASS: test4n");
  17.       exit(0);
  18.     }
  19.     ch = -2;
  20.     font = GLUT_STROKE_MONO_ROMAN;
  21.   }
  22.   glutPostRedisplay();
  23. }
  24. void
  25. display(void)
  26. {
  27.   glutIdleFunc(tick);
  28.   glClear(GL_COLOR_BUFFER_BIT);
  29.   glPushMatrix();
  30.   glutStrokeCharacter(font, ch);
  31.   glPopMatrix();
  32.   glutSwapBuffers();
  33. }
  34. int
  35. main(int argc, char **argv)
  36. {
  37.   glutInit(&argc, argv);
  38.   glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
  39.   glutInitWindowSize(200, 200);
  40.   glutCreateWindow("Test stroke fonts");
  41.   if (glutGet(GLUT_WINDOW_COLORMAP_SIZE) != 0) {
  42.     printf("FAIL: bad RGBA colormap sizen");
  43.     exit(1);
  44.   }
  45.   glMatrixMode(GL_PROJECTION);
  46.   glLoadIdentity();
  47.   gluOrtho2D(-50, 150, -50, 150);
  48.   glClearColor(0.0, 0.0, 0.0, 1.0);
  49.   glColor3f(1.0, 1.0, 1.0);
  50.   glutDisplayFunc(display);
  51.   glutMainLoop();
  52.   return 0;             /* ANSI C requires main to return int. */
  53. }