Fix cursor drawing and whole screen scrolling
This commit is contained in:
parent
e59e3e59ca
commit
17d1956f5c
1 changed files with 7 additions and 4 deletions
|
@ -754,19 +754,22 @@ real_scroll (void)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw cursor if visible. */
|
|
||||||
if (virtual_screen.cursor_state)
|
|
||||||
draw_cursor (1);
|
|
||||||
|
|
||||||
was_scroll = virtual_screen.total_scroll;
|
was_scroll = virtual_screen.total_scroll;
|
||||||
virtual_screen.total_scroll = 0;
|
virtual_screen.total_scroll = 0;
|
||||||
|
|
||||||
|
if (was_scroll > virtual_screen.rows)
|
||||||
|
was_scroll = virtual_screen.rows;
|
||||||
|
|
||||||
/* Draw shadow part. */
|
/* Draw shadow part. */
|
||||||
for (i = virtual_screen.rows - was_scroll;
|
for (i = virtual_screen.rows - was_scroll;
|
||||||
i < virtual_screen.rows; i++)
|
i < virtual_screen.rows; i++)
|
||||||
for (j = 0; j < virtual_screen.columns; j++)
|
for (j = 0; j < virtual_screen.columns; j++)
|
||||||
paint_char (j, i);
|
paint_char (j, i);
|
||||||
|
|
||||||
|
/* Draw cursor if visible. */
|
||||||
|
if (virtual_screen.cursor_state)
|
||||||
|
draw_cursor (1);
|
||||||
|
|
||||||
if (repaint_callback)
|
if (repaint_callback)
|
||||||
repaint_callback (window.x, window.y, window.width, window.height);
|
repaint_callback (window.x, window.y, window.width, window.height);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue