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

void init() {   
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   gluOrtho2D(0.0, 1.0, 0.0, 1.0);
   
   glClearColor(0.0, 0.0, 0.0, 0.0);
   glLineWidth(8.0);
}

void display() {
   glClear(GL_COLOR_BUFFER_BIT);
   
   float cyan[]   = {0.0, 1.0, 1.0};
   float yellow[] = {1.0, 1.0, 0.0};
   float green[]  = {0.0, 1.0, 0.0};
   
   glEnable(GL_LINE_STIPPLE);

   glLineStipple(3, (short) 0x30FC);
   glBegin(GL_LINES);
	glColor3fv(cyan);
	glVertex3d(0.05, 0.75, 0.0);
	glVertex3d(0.95, 0.75, 0.0);
   glEnd();

   glLineStipple(3, (short) 0x03FF);
   glBegin(GL_LINES);
      glColor3fv(yellow);
	glVertex3d(0.05, 0.50, 0.0);
	glVertex3d(0.95, 0.50, 0.0);
   glEnd();

   glLineStipple(3, (short) 0x1E3F);
   glBegin(GL_LINES);
	glColor3fv(green);
	glVertex3d(0.05, 0.25, 0.0);
	glVertex3d(0.95, 0.25, 0.0);
   glEnd();
   
   glFlush();
}   

int main(int argc, char **argv) {
    glutInit(&argc, argv);
    glutInitWindowPosition(0, 0);
    glutInitWindowSize(500, 500);
    glutCreateWindow("Hello Line Loop World");

    glutDisplayFunc(display);
    
    init();
   
    glutMainLoop(); 
    return 0;
}