term: add term_cursor_col()

Set cursor column, absolute.

term_cursor_to() needs to reload the current row pointer, and is thus
not very effective when we only need to modify the column.
This commit is contained in:
Daniel Eklöf 2023-06-16 16:33:15 +02:00
parent d88bea5e22
commit 24f12c7b5e
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 10 additions and 0 deletions

View file

@ -2557,6 +2557,15 @@ term_cursor_home(struct terminal *term)
term_cursor_to(term, term_row_rel_to_abs(term, 0), 0);
}
void
term_cursor_col(struct terminal *term, int col)
{
xassert(col < term->cols);
term->grid->cursor.lcf = false;
term->grid->cursor.point.col = col;
}
void
term_cursor_left(struct terminal *term, int count)
{

View file

@ -743,6 +743,7 @@ void term_erase_scrollback(struct terminal *term);
int term_row_rel_to_abs(const struct terminal *term, int row);
void term_cursor_home(struct terminal *term);
void term_cursor_to(struct terminal *term, int row, int col);
void term_cursor_col(struct terminal *term, int col);
void term_cursor_left(struct terminal *term, int count);
void term_cursor_right(struct terminal *term, int count);
void term_cursor_up(struct terminal *term, int count);