1
0
Fork 0

Fix #10222: Adjust line drawing algorithm (#10491)

pull/10497/head
Nik Nyby 2023-02-20 16:18:25 -05:00 committed by GitHub
parent 8778949b6a
commit 92c755161d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 10 deletions

View File

@ -109,11 +109,6 @@ void Blitter::DrawLineGeneric(int x1, int y1, int x2, int y2, int screen_width,
}
while (x1 != x2) {
if (dash_count < dash) {
for (int y = y_low; y != y_high; y += stepy) {
if (y >= 0 && y < screen_height) set_pixel(x1, y);
}
}
if (frac_low >= 0) {
y_low += stepy;
frac_low -= dx;
@ -122,6 +117,12 @@ void Blitter::DrawLineGeneric(int x1, int y1, int x2, int y2, int screen_width,
y_high += stepy;
frac_high -= dx;
}
if (dash_count < dash) {
for (int y = y_low; y != y_high; y += stepy) {
if (y >= 0 && y < screen_height) set_pixel(x1, y);
}
}
x1++;
frac_low += dy;
frac_high += dy;
@ -171,11 +172,6 @@ void Blitter::DrawLineGeneric(int x1, int y1, int x2, int y2, int screen_width,
}
while (y1 != y2) {
if (dash_count < dash) {
for (int x = x_low; x != x_high; x += stepx) {
if (x >= 0 && x < screen_width) set_pixel(x, y1);
}
}
if (frac_low >= 0) {
x_low += stepx;
frac_low -= dy;
@ -184,6 +180,12 @@ void Blitter::DrawLineGeneric(int x1, int y1, int x2, int y2, int screen_width,
x_high += stepx;
frac_high -= dy;
}
if (dash_count < dash) {
for (int x = x_low; x != x_high; x += stepx) {
if (x >= 0 && x < screen_width) set_pixel(x, y1);
}
}
y1++;
frac_low += dx;
frac_high += dx;