UI/TUI: improvements and cleanups for scrolling and clearing

- TUI: _never_ rely on BCE for implicit clearing, only explicit commands.
- TUI: use unibi_erase_chars when possible.
- TUI: use end-exclusive ranges for invalid and cleared areas
- screen: scrolling leaves scrolled in aree undefined. This is a
  conservative change, a client assuming the old semantics will still
  behave correctly.
- screen: factor out vsep handling from line drawing. This is needed
  anyway for the multigrid refactor.
- screen: simplifications of win_do_lines
This commit is contained in:
Björn Linse
2018-11-03 14:40:22 +01:00
parent f8639dc99c
commit 520ec3dbfd
7 changed files with 136 additions and 171 deletions

View File

@@ -918,9 +918,9 @@ void curs_columns(
extra = ((int)prev_skipcol - (int)curwin->w_skipcol) / width;
if (extra > 0) {
win_ins_lines(curwin, 0, extra, false);
win_ins_lines(curwin, 0, extra);
} else if (extra < 0) {
win_del_lines(curwin, 0, -extra, false);
win_del_lines(curwin, 0, -extra);
}
} else {
curwin->w_skipcol = 0;