#include <GL/glut.h>
#include <stdlib.h>
#include <stdio.h>

float l=2;
float x,y;
void display(void)
{
	int x1,y1,x2,y2;
	int dx,dy;
	float xinc,yinc;
	int step;
	int k;
	glClear(GL_COLOR_BUFFER_BIT);
	glColor3f(1.0,1.0,1.0);
		printf("Please enter print coordinates is x1 y1 x2 y2 \n");
		scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
	dx=x2-x1;
	dy=y2-y1;
	if(abs(dx)>abs(dy))
		step=abs(dy);
	else
		step=abs(dx);
	xinc=dx/step;
	yinc=dy/step;
	x=(float)x1;
	y=(float)y1;
printf("%f\t%f\n",x,y);	
	ciz(x,y);
	for(k=1;k<step;k++)
	{
		x=x+xinc;
		y=y+yinc;
printf("%f\t%f\n",x,y);	
		ciz(x,y);
	}
	glFlush();
}

void ciz(void){
		glBegin(GL_POLYGON);
		glVertex3f(x,y,0.0);
		glVertex3f(x+l,y,0.0);
		glVertex3f(x+l,y+l,0.0);
		glVertex3f(x,y+l,0.0);
		glEnd();
}

void init(void)
{
	glClearColor(0.0,0.0,0.0,0.0);
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	glOrtho(0.0,100.0,0.0,100.0,-100.0,100.0);
}

int main(int argc, char** argv){
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
	glutInitWindowSize(250,250);
	glutInitWindowPosition(100,100);
	glutCreateWindow("Hello");
	init();
	glutDisplayFunc(display);
	glutMainLoop();
	return 0;
}
	
