uintmax_t points = (x1 - x0) + (y1 - y0); for (uintmax_t p = 0; p < points; p++) { window_draw_pixel(window, x0 + (p*(x1 - x0))/points, y0 + (p*(y1 - y0))/points, colour); }