From: Ray Strode Date: Fri, 20 Jun 2008 16:18:10 +0000 (-0400) Subject: Add clear screen method to window class X-Git-Tag: 0.4.0~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4b0923853160e1b39145f79935035c10fac2ec7e;p=thirdparty%2Fplymouth.git Add clear screen method to window class Just a convenience function for the plugins --- diff --git a/src/libplybootsplash/ply-window.c b/src/libplybootsplash/ply-window.c index 712992f7..7ac22d1f 100644 --- a/src/libplybootsplash/ply-window.c +++ b/src/libplybootsplash/ply-window.c @@ -53,6 +53,7 @@ #define KEY_RETURN '\r' #define KEY_BACKSPACE '\177' +#define CLEAR_SCREEN_SEQUENCE "\033[2J" #define MOVE_CURSOR_SEQUENCE "\033[%d;%df" struct _ply_window @@ -454,6 +455,15 @@ ply_window_set_text_cursor_position (ply_window_t *window, free (sequence); } +void +ply_window_clear_screen (ply_window_t *window) +{ + write (window->tty_fd, CLEAR_SCREEN_SEQUENCE, strlen (CLEAR_SCREEN_SEQUENCE)); + + if (ply_frame_buffer_device_is_open (window->frame_buffer)) + ply_frame_buffer_fill_with_color (window->frame_buffer, NULL, 0.0, 0.0, 0.0, 1.0); +} + 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 ff45aaee..36817aff 100644 --- a/src/libplybootsplash/ply-window.h +++ b/src/libplybootsplash/ply-window.h @@ -77,6 +77,7 @@ 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_clear_screen (ply_window_t *window); void ply_window_attach_to_event_loop (ply_window_t *window, ply_event_loop_t *loop);