]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
add new api for moving text cursor around
authorRay Strode <rstrode@redhat.com>
Thu, 19 Jun 2008 13:38:34 +0000 (09:38 -0400)
committerRay Strode <rstrode@redhat.com>
Thu, 19 Jun 2008 13:38:34 +0000 (09:38 -0400)
src/libplybootsplash/ply-window.c
src/libplybootsplash/ply-window.h

index 304235d39fc8df660c09552076e27fe6906fcad4..8345b728a59561b5377d3434a29c3e16fbe88e17 100644 (file)
@@ -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)
 {
index 0b9b64562d120ae5b16d7ceac195f8ead8c0de84..ff45aaee929f2c835fd6d9693f4294bd6817545f 100644 (file)
@@ -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);