#include <GL/glut.h>
#include <GL/glu.h>


// A simple screen saver 
// Eric McCreath 2009, 2011
// complile with:
//      gcc -lglut -lGLU screensaver.c -o screensaver


#define xdim 800
#define ydim 600

void init(void) {
  glClearColor(0.0,0.0,0.0,0.0);
  glMatrixMode(GL_PROJECTION);
  gluOrtho2D (0.0,xdim,0.0,ydim);
  glMatrixMode(GL_MODELVIEW);
}

double xpos = 100.0;
double xvel = 1.0;

void timer() {
  glutPostRedisplay();
  glutTimerFunc(10,timer,0);
}

void display(void) {
  glClear(GL_COLOR_BUFFER_BIT);
  glColor3f(1.0,1.0,0.0);		
  glRasterPos2f(xpos, 100.0f);
  glutBitmapString(GLUT_BITMAP_HELVETICA_18, "Save the Screens");		
  glFlush();
		
  xpos += xvel;
  if (xpos > xdim)
    xpos = 0.0f;
}

int main (int argc, char** argv) {
  glutInit(&argc, argv);
  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
  glutInitWindowPosition(50,100);
  glutInitWindowSize(xdim,ydim);
  glutCreateWindow("Example Program");
  init();
  glutDisplayFunc(display);
  glutTimerFunc(50,timer,0);
  glutMainLoop();
  return 0;
}

