summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2008-06-25 17:48:32 -0400
committerRay Strode <rstrode@redhat.com>2008-06-25 17:48:32 -0400
commitba2cd476b9b3d885f912d407c2740ca641b8a1c4 (patch)
tree0c9b7a7fb2db53bab16eaabdaaa0933aa9b14bc0
parent19c8002f9c2f256033b00b094f3ae1ec1deb526d (diff)
downloadplymouth-ba2cd476b9b3d885f912d407c2740ca641b8a1c4.tar.gz
plymouth-ba2cd476b9b3d885f912d407c2740ca641b8a1c4.tar.xz
plymouth-ba2cd476b9b3d885f912d407c2740ca641b8a1c4.zip
Change text pulser to use space instead of line drawing characters to prevent
scramblage at font change
-rw-r--r--src/libplybootsplash/ply-text-pulser.c56
1 files changed, 5 insertions, 51 deletions
diff --git a/src/libplybootsplash/ply-text-pulser.c b/src/libplybootsplash/ply-text-pulser.c
index 3872d60..d11b1db 100644
--- a/src/libplybootsplash/ply-text-pulser.c
+++ b/src/libplybootsplash/ply-text-pulser.c
@@ -53,10 +53,6 @@
#define FRAMES_PER_SECOND 10
#endif
-#ifndef INDICATOR_STRING
-#define INDICATOR_STRING "██████"
-#endif
-
#define NUMBER_OF_INDICATOR_COLUMNS 6
struct _ply_text_pulser
@@ -100,66 +96,24 @@ ply_text_pulser_free (ply_text_pulser_t *pulser)
}
static void
-draw_frame (ply_text_pulser_t *pulser,
- int column,
- int row)
-{
- int i;
-
- ply_window_set_text_cursor_position (pulser->window,
- column, row);
- /* Top of frame
- */
- write (STDOUT_FILENO, "┌", strlen ("┌"));
- for (i = 0; i < pulser->number_of_columns - 2; i++)
- write (STDOUT_FILENO, "─", strlen ("─"));
- write (STDOUT_FILENO, "┐", strlen ("┐"));
-
- ply_window_set_text_cursor_position (pulser->window,
- column, row + 1);
- /* Middle
- */
- write (STDOUT_FILENO, "│", strlen ("│"));
-
- ply_window_set_text_cursor_position (pulser->window,
- column + pulser->number_of_columns - 1,
- row + 1);
- write (STDOUT_FILENO, "│", strlen ("│"));
-
- ply_window_set_text_cursor_position (pulser->window,
- column, row + 2);
- /* Bottom of frame
- */
- write (STDOUT_FILENO, "└", strlen ("└"));
-
- for (i = 0; i < pulser->number_of_columns - 2; i++)
- write (STDOUT_FILENO, "─", strlen ("─"));
- write (STDOUT_FILENO, "┘", strlen ("┘"));
-}
-
-static void
-draw_indicator (ply_text_pulser_t *pulser)
-{
- write (STDOUT_FILENO, INDICATOR_STRING, strlen (INDICATOR_STRING));
-}
-
-static void
animate_at_time (ply_text_pulser_t *pulser,
double time)
{
ply_window_set_mode (pulser->window, PLY_WINDOW_MODE_TEXT);
- draw_frame (pulser, pulser->column, pulser->row);
-
ply_window_set_text_cursor_position (pulser->window,
pulser->column + pulser->spinner_position,
pulser->row + 1);
+ ply_window_set_background_color (pulser->window, PLY_WINDOW_COLOR_DEFAULT);
write (STDOUT_FILENO, " ", strlen (" "));
pulser->spinner_position = ((pulser->number_of_columns - 2) - NUMBER_OF_INDICATOR_COLUMNS - 1) * (.5 * sin (time) + .5) + 2;
ply_window_set_text_cursor_position (pulser->window,
pulser->column + pulser->spinner_position,
pulser->row + 1);
- draw_indicator (pulser);
+
+ ply_window_set_background_color (pulser->window, PLY_WINDOW_COLOR_WHITE);
+ write (STDOUT_FILENO, " ", strlen (" "));
+ ply_window_set_background_color (pulser->window, PLY_WINDOW_COLOR_DEFAULT);
}
static void