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

This commit is contained in:
Erica Fischer
2023-09-07 16:26:01 -07:00
parent 6f14cd77c8
commit 30526cac3c
7 changed files with 11 additions and 11 deletions
+4 -4
View File
@@ -582,16 +582,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");