summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2008-06-26 15:14:58 -0400
committerRay Strode <rstrode@redhat.com>2008-06-26 15:14:58 -0400
commit036c7ddbeadd400f73da76857468edbd22eb25e2 (patch)
treebf12c5c028b478278e88b33323bd45097aa0c121 /src
parentba2cd476b9b3d885f912d407c2740ca641b8a1c4 (diff)
downloadplymouth-036c7ddbeadd400f73da76857468edbd22eb25e2.tar.gz
plymouth-036c7ddbeadd400f73da76857468edbd22eb25e2.tar.xz
plymouth-036c7ddbeadd400f73da76857468edbd22eb25e2.zip
Draw spindicator in a brown trough
Diffstat (limited to 'src')
-rw-r--r--src/libplybootsplash/ply-text-pulser.c29
1 files changed, 23 insertions, 6 deletions
diff --git a/src/libplybootsplash/ply-text-pulser.c b/src/libplybootsplash/ply-text-pulser.c
index d11b1db..34630bb 100644
--- a/src/libplybootsplash/ply-text-pulser.c
+++ b/src/libplybootsplash/ply-text-pulser.c
@@ -81,7 +81,7 @@ ply_text_pulser_new (void)
pulser->column = 0;
pulser->spinner_position = 0;
pulser->number_of_columns = 40;
- pulser->number_of_rows = 3;
+ pulser->number_of_rows = 1;
return pulser;
}
@@ -96,20 +96,37 @@ ply_text_pulser_free (ply_text_pulser_t *pulser)
}
static void
+draw_trough (ply_text_pulser_t *pulser,
+ int column,
+ int row)
+{
+ char *bytes;
+
+ ply_window_set_text_cursor_position (pulser->window,
+ column,
+ row);
+ ply_window_set_background_color (pulser->window, PLY_WINDOW_COLOR_BROWN);
+ bytes = malloc (pulser->number_of_columns);
+ memset (bytes, ' ', pulser->number_of_columns);
+ write (STDOUT_FILENO, bytes, pulser->number_of_columns);
+ free (bytes);
+}
+
+static void
animate_at_time (ply_text_pulser_t *pulser,
double time)
{
ply_window_set_mode (pulser->window, PLY_WINDOW_MODE_TEXT);
+ draw_trough (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;
+ pulser->row);
+ pulser->spinner_position = (pulser->number_of_columns - strlen (" ") + 1) * (.5 * sin (time) + .5);
ply_window_set_text_cursor_position (pulser->window,
pulser->column + pulser->spinner_position,
- pulser->row + 1);
+ pulser->row);
ply_window_set_background_color (pulser->window, PLY_WINDOW_COLOR_WHITE);
write (STDOUT_FILENO, " ", strlen (" "));