Make it round, not truncate, which reverts the last commit's test diffs

This commit is contained in:
Erica Fischer
2023-05-23 11:26:18 -07:00
parent e8c48c0fad
commit 2dcb2d7989
7 changed files with 11 additions and 11 deletions
+4 -4
View File
@@ -570,16 +570,16 @@ static draw intersect(draw a, draw b, int edge, long long minx, long long miny,
switch (edge) {
case 0: // top
return draw(VT_LINETO, a.x + (double) (b.x - a.x) * (miny - a.y) / (b.y - a.y), miny);
return draw(VT_LINETO, std::round(a.x + (double) (b.x - a.x) * (miny - a.y) / (b.y - a.y)), miny);
case 1: // right
return draw(VT_LINETO, maxx, a.y + (double) (b.y - a.y) * (maxx - a.x) / (b.x - a.x));
return draw(VT_LINETO, maxx, std::round(a.y + (double) (b.y - a.y) * (maxx - a.x) / (b.x - a.x)));
case 2: // bottom
return draw(VT_LINETO, a.x + (double) (b.x - a.x) * (maxy - a.y) / (b.y - a.y), maxy);
return draw(VT_LINETO, std::round(a.x + (double) (b.x - a.x) * (maxy - a.y) / (b.y - a.y)), maxy);
case 3: // left
return draw(VT_LINETO, minx, a.y + (double) (b.y - a.y) * (minx - a.x) / (b.x - a.x));
return draw(VT_LINETO, minx, std::round(a.y + (double) (b.y - a.y) * (minx - a.x) / (b.x - a.x)));
}
fprintf(stderr, "internal error intersecting\n");