From: Ray Strode Date: Thu, 19 Jun 2008 13:38:34 +0000 (-0400) Subject: add new api for moving text cursor around X-Git-Tag: 0.4.0~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=83a23fc4565cf06c62fc1abe7762084e1eaa3f66;p=thirdparty%2Fplymouth.git add new api for moving text cursor around --- diff --git a/src/libplybootsplash/ply-window.c b/src/libplybootsplash/ply-window.c index 304235d3..8345b728 100644 --- a/src/libplybootsplash/ply-window.c +++ b/src/libplybootsplash/ply-window.c @@ -53,6 +53,8 @@ #define KEY_RETURN '\r' #define KEY_BACKSPACE '\177' +#define MOVE_CURSOR_SEQUNCE(column,row) "\033[f"#row","#column + struct _ply_window { ply_event_loop_t *loop; @@ -438,6 +440,16 @@ ply_window_get_number_of_text_columns (ply_window_t *window) return window->number_of_text_columns; } +void +ply_window_set_text_cursor_position (ply_window_t *window, + int column, + int row) +{ + write (window->tty_fd, + MOVE_CURSOR_SEQUNCE(row,column), + strlen (MOVE_CURSOR_SEQUNCE(row,column))); +} + static void ply_window_detach_from_event_loop (ply_window_t *window) { diff --git a/src/libplybootsplash/ply-window.h b/src/libplybootsplash/ply-window.h index 0b9b6456..ff45aaee 100644 --- a/src/libplybootsplash/ply-window.h +++ b/src/libplybootsplash/ply-window.h @@ -74,6 +74,9 @@ bool ply_window_set_mode (ply_window_t *window, ply_window_mode_t mode); int ply_window_get_number_of_text_rows (ply_window_t *window); int ply_window_get_number_of_text_columns (ply_window_t *window); +void ply_window_set_text_cursor_position (ply_window_t *window, + int column, + int row); void ply_window_attach_to_event_loop (ply_window_t *window, ply_event_loop_t *loop);