}
m = (*y1 - *y0)/(double)(*x1 - *x0); /* calculate the slope of the line */
/* adjust x0 to be on the left boundary (ie to be zero), and y0 to match */
- *y0 -= m * *x0;
+ *y0 -= (int)(m * *x0);
*x0 = 0;
/* now, perhaps, adjust the far end of the line as well */
if (*x1 > maxdim) {
- *y1 += m * (maxdim - *x1);
+ *y1 += (int)(m * (maxdim - *x1));
*x1 = maxdim;
}
return 1;
return 0;
}
m = (*y1 - *y0)/(double)(*x1 - *x0); /* calculate the slope of the line */
- *y0 += m * (maxdim - *x0); /* adjust so point is on the right boundary */
+ *y0 += (int)(m * (maxdim - *x0)); /* adjust so point is on the right boundary */
*x0 = maxdim;
/* now, perhaps, adjust the end of the line */
if (*x1 < 0) {
- *y1 -= m * *x1;
+ *y1 -= (int)(m * *x1);
*x1 = 0;
}
return 1;
/* the final case - the start of the line is inside the window */
if (*x1 > maxdim) { /* other end is outside to the right */
m = (*y1 - *y0)/(double)(*x1 - *x0); /* calculate the slope of the line */
- *y1 += m * (maxdim - *x1);
+ *y1 += (int)(m * (maxdim - *x1));
*x1 = maxdim;
return 1;
}
if (*x1 < 0) { /* other end is outside to the left */
m = (*y1 - *y0)/(double)(*x1 - *x0); /* calculate the slope of the line */
- *y1 -= m * *x1;
+ *y1 -= (int)(m * *x1);
*x1 = 0;
return 1;
}