Daniel Eklöf
a50be28b9d
grid: implement DAMAGE_SCROLL
2019-06-21 14:29:15 +02:00
Daniel Eklöf
0ddd96de0d
render: break up grid_render()
2019-06-19 14:37:42 +02:00
Daniel Eklöf
304f15d696
Use a 'damage' list to communicate what needs to be updated
...
Instead of having each cell in the grid track it's own dirtiness, grid
operations now append "damage" to a list.
This list is consumed every time we render the grid.
This allows us to special case some operations, like erase (and in the
future, scroll).
2019-06-19 14:17:43 +02:00
Daniel Eklöf
96731814da
grid: erase: memset() the entire range in one call
2019-06-19 10:58:24 +02:00
Daniel Eklöf
efc8cc4914
wip: initial scrolling support (no scrollback though)
2019-06-19 10:27:31 +02:00
Daniel Eklöf
71dde121e6
wip: initial input handling
2019-06-19 10:04:47 +02:00
Daniel Eklöf
50c43be0d9
grid: track both linear and row,col cursor
2019-06-17 21:15:20 +02:00
Daniel Eklöf
963b266cce
vt: handle cursor-at-right-edge
...
When printing to the right-most-cell, don't advance the
cursor. Instead, set a flag that indicates that the *next* print
should line-wrap.
2019-06-17 20:53:05 +02:00
Daniel Eklöf
4585df532c
wip: vt parsing: break out grid operating functions
2019-06-17 19:33:10 +02:00