import display.*;

//The class that the students will fill up with the correct algorithm.

public class Bresenham {

    /*
      Inputs: x1, y1, x2 and y2 -- the endpoints of the line. The line
				   stretches from (x1, y1) to (x2, y2)
              Grid view         -- an object representing the display

      Outputs: none, just draw the line

      Something useful: in order to draw the line, you must set a
	 	 	series of individual pixels. You can do this
	 	 	by making a call to the setPixel method of the
	 	 	Grid object. In other words, the command
	 	 	         view.setPixel(3,4); 
			would turn the pixel at position (3, 4) black.


      NOTE: If you want to have any auxiliary methods (helpers), you
	    must make sure to declare them "static" as well.

     */
    public static void BresenhamAlgorithm(int x1, int y1, 
					  int x2, int y2, Grid view) {

	// ***** YOUR CODE HERE *****

       for (int x=x1, y=y1, e=0 ; x<=x2 ; x++) {
       //       System.out.println(e + "\n");
       //       System.out.println((y2-y1)/(x2-x1) + "\n");

         if ( (-y-.5)*(x2-x1)+(y2-y1)*x+.5*((y1+y2)*(x2-x1)-(y2-y1)*(x1+x2)) <= 0 ) {
         } else {
	    y = y+1;
         }
         view.setPixel(x,y);
       
       }

System.out.println("Entering BresenhamAlgorithm");

    }
}





