vt: wip: implement scrolling region

This is largely untested, but existing scrolling code has been
converted to using a terminal-global scrolling region that is defined
as start-end of the scrollable region.

This is compared to the old code where the scrolling region where
defined in terms of marginals, counted in lines from top and from
bottom.
This commit is contained in:
Daniel Eklöf 2019-06-23 18:02:49 +02:00
parent 7183b2f0fe
commit b0a2c54fe8
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
6 changed files with 68 additions and 55 deletions

View file

@ -40,8 +40,6 @@ struct damage {
/* DAMAGE_SCROLL, DAMAGE_SCROLL_REVERSE */
struct {
int top_margin;
int bottom_margin;
int lines;
} scroll;
};
@ -53,6 +51,13 @@ struct grid {
int cell_width;
int cell_height;
/* Scrolling region - counted as lines excluded from scrolling,
* from top and from bottom */
struct {
int start;
int end;
} scrolling_region;
int linear_cursor;
struct {
int row;