summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2008-06-20 13:43:06 -0400
committerRay Strode <rstrode@redhat.com>2008-06-20 13:48:45 -0400
commit435034695d40d6d775bf364c70277b24a32b3531 (patch)
tree0f64ac2bfc3c6adb84f03d56de71654cb11ee51f
parent630533b7f3e5e9ba7b761ec79ff3650576a8c031 (diff)
downloadplymouth-435034695d40d6d775bf364c70277b24a32b3531.tar.gz
plymouth-435034695d40d6d775bf364c70277b24a32b3531.tar.xz
plymouth-435034695d40d6d775bf364c70277b24a32b3531.zip
move show_cursor and hide_cursor to window
-rw-r--r--src/libplybootsplash/ply-window.c20
-rw-r--r--src/libplybootsplash/ply-window.h2
2 files changed, 22 insertions, 0 deletions
diff --git a/src/libplybootsplash/ply-window.c b/src/libplybootsplash/ply-window.c
index 40b9677..b56b221 100644
--- a/src/libplybootsplash/ply-window.c
+++ b/src/libplybootsplash/ply-window.c
@@ -61,6 +61,14 @@
#define MOVE_CURSOR_SEQUENCE "\033[%d;%df"
#endif
+#ifndef HIDE_CURSOR_SEQUENCE
+#define HIDE_CURSOR_SEQUENCE "\033[?25l"
+#endif
+
+#ifndef SHOW_CURSOR_SEQUENCE
+#define SHOW_CURSOR_SEQUENCE "\033[?25h"
+#endif
+
struct _ply_window
{
ply_event_loop_t *loop;
@@ -469,6 +477,18 @@ ply_window_clear_screen (ply_window_t *window)
ply_frame_buffer_fill_with_color (window->frame_buffer, NULL, 0.0, 0.0, 0.0, 1.0);
}
+void
+ply_window_hide_text_cursor (ply_window_t *window)
+{
+ write (window->tty_fd, HIDE_CURSOR_SEQUENCE, strlen (HIDE_CURSOR_SEQUENCE));
+}
+
+void
+ply_window_show_text_cursor (ply_window_t *window)
+{
+ write (window->tty_fd, SHOW_CURSOR_SEQUENCE, strlen (SHOW_CURSOR_SEQUENCE));
+}
+
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 36817af..65bd7ba 100644
--- a/src/libplybootsplash/ply-window.h
+++ b/src/libplybootsplash/ply-window.h
@@ -77,6 +77,8 @@ 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_hide_text_cursor (ply_window_t *window);
+void ply_window_show_text_cursor (ply_window_t *window);
void ply_window_clear_screen (ply_window_t *window);
void ply_window_attach_to_event_loop (ply_window_t *window,