term: add term_damage_cursor() and term_damage_margins()

term_damage_cursor() damages the cell where the cursor is currently
at. This can be used to ensure the cursor is re-drawn, if there aren’t
any other pending updates.

term_damage_margins() requests the margins be redrawn the next time we
render the grid.
This commit is contained in:
Daniel Eklöf 2020-09-29 10:03:00 +02:00
parent 59ca98f989
commit 0caa9c4173
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 18 additions and 0 deletions

View file

@ -1626,6 +1626,19 @@ term_damage_view(struct terminal *term)
term_damage_rows_in_view(term, 0, term->rows - 1);
}
void
term_damage_cursor(struct terminal *term)
{
term->grid->cur_row->cells[term->grid->cursor.point.col].attrs.clean = 0;
term->grid->cur_row->dirty = true;
}
void
term_damage_margins(struct terminal *term)
{
term->render.margins = true;
}
void
term_damage_scroll(struct terminal *term, enum damage_type damage_type,
struct scroll_region region, int lines)