public void lineBresenham(int x0, int y0, int x1, int y1, Color color) {
	int pix = color.getRGB();
	int dy = y1 - y0;
	int dx = x1 - x0;
	int stepx, stepy;
	if (dy < 0) { dy = -dy; stepy = -1; 
	} else { stepy = 1; 
	}
 	if (dx < 0) { dx = -dx; stepx = -1; 
	} else { stepx = 1; 
	}
	dy <<= 1; 							// dy is now 2*dy
	dx <<= 1; 							// dx is now 2*dx
 
	raster.setPixel(pix, x0, y0);

	if (dx > dy) {
		int fraction = dy - (dx >> 1);	// same as 2*dy - dx
		while (x0 != x1) {
			if (fraction >= 0) {
				y0 += stepy;
				fraction -= dx; 		// same as fraction -= 2*dx
			}
   		x0 += stepx;
   		fraction += dy; 				// same as fraction -= 2*dy
   		raster.setPixel(pix, x0, y0);
		}			} else { ... }