hw/display/artist: Fix invalidation of lines in artist_draw_line()
The old code didn't invalidate correctly when vertical lines were drawn. Fix this and move the invalidation out of the loop. Signed-off-by: Sven Schnelle <svens@stackframe.org> Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
parent
e0cf02ce68
commit
f9e9f71490
@ -662,7 +662,6 @@ static void draw_line(ARTISTState *s,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (e > 0) {
|
if (e > 0) {
|
||||||
artist_invalidate_lines(buf, y, 1);
|
|
||||||
y += incy;
|
y += incy;
|
||||||
e += diago;
|
e += diago;
|
||||||
} else {
|
} else {
|
||||||
@ -670,6 +669,10 @@ static void draw_line(ARTISTState *s,
|
|||||||
}
|
}
|
||||||
x++;
|
x++;
|
||||||
} while (x <= x2 && (max_pix == -1 || --max_pix > 0));
|
} while (x <= x2 && (max_pix == -1 || --max_pix > 0));
|
||||||
|
if (c1)
|
||||||
|
artist_invalidate_lines(buf, x, dy+1);
|
||||||
|
else
|
||||||
|
artist_invalidate_lines(buf, y, dx+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void draw_line_pattern_start(ARTISTState *s)
|
static void draw_line_pattern_start(ARTISTState *s)
|
||||||
|
Loading…
Reference in New Issue
Block a user