]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
Factor out background drawing in plugins.
authorKristian Høgsberg <krh@redhat.com>
Mon, 2 Jun 2008 15:09:43 +0000 (11:09 -0400)
committerKristian Høgsberg <krh@redhat.com>
Mon, 2 Jun 2008 15:54:40 +0000 (11:54 -0400)
src/splash-plugins/fade-in/plugin.c
src/splash-plugins/spinfinity/plugin.c

index 13236d310175fa6dbb7f08e5f75efefeb2101079..7f71c336dd26570ca3eecad71e18b00fc272a5dc 100644 (file)
@@ -194,6 +194,14 @@ destroy_plugin (ply_boot_splash_plugin_t *plugin)
   free (plugin);
 }
 
+static void
+draw_background (ply_boot_splash_plugin_t *plugin,
+                ply_frame_buffer_area_t  *area)
+{
+  ply_frame_buffer_fill_with_hex_color (plugin->frame_buffer, area,
+                                       PLYMOUTH_BACKGROUND_COLOR);
+}
+
 static void
 animate_at_time (ply_boot_splash_plugin_t *plugin,
                  double                    time)
@@ -235,8 +243,7 @@ animate_at_time (ply_boot_splash_plugin_t *plugin,
       opacity = .5 * sin (((plugin->now - star->start_time) / star->speed) * (2 * M_PI)) + .5;
       opacity = CLAMP (opacity, 0, 1.0);
 
-      ply_frame_buffer_fill_with_hex_color (plugin->frame_buffer, &star_area,
-                                            PLYMOUTH_BACKGROUND_COLOR);
+      draw_background (plugin, &star_area);
       ply_frame_buffer_fill_with_argb32_data_at_opacity (plugin->frame_buffer, 
                                                          &star_area, 0, 0, 
                                                          star_data, opacity);
@@ -255,8 +262,7 @@ animate_at_time (ply_boot_splash_plugin_t *plugin,
 
   last_opacity = opacity;
 
-  ply_frame_buffer_fill_with_hex_color (plugin->frame_buffer, &logo_area,
-                                        PLYMOUTH_BACKGROUND_COLOR);
+  draw_background (plugin, &logo_area);
   ply_frame_buffer_fill_with_argb32_data_at_opacity (plugin->frame_buffer,
                                                      &logo_area, 0, 0,
                                                      logo_data, opacity);
@@ -315,8 +321,7 @@ start_animation (ply_boot_splash_plugin_t *plugin)
                                     on_timeout, plugin);
 
   plugin->start_time = ply_get_timestamp ();
-  ply_frame_buffer_fill_with_hex_color (plugin->frame_buffer, NULL,
-                                        PLYMOUTH_BACKGROUND_COLOR);
+  draw_background (plugin, NULL);
 }
 
 static void
@@ -588,8 +593,7 @@ draw_password_entry (ply_boot_splash_plugin_t *plugin)
   entry_area.x = plugin->entry->x;
   entry_area.y = plugin->entry->y;
 
-  ply_frame_buffer_fill_with_hex_color (plugin->frame_buffer, &entry_area,
-                                        PLYMOUTH_BACKGROUND_COLOR);
+  draw_background (plugin, &entry_area);
 
   ply_frame_buffer_fill_with_argb32_data (plugin->frame_buffer,
                                           &entry_area, 0, 0,
@@ -604,8 +608,7 @@ draw_password_entry (ply_boot_splash_plugin_t *plugin)
 
   lock_area.x = x;
   lock_area.y = y;
-  ply_frame_buffer_fill_with_hex_color (plugin->frame_buffer, &lock_area,
-                                        PLYMOUTH_BACKGROUND_COLOR);
+  draw_background (plugin, &lock_area);
   ply_frame_buffer_fill_with_argb32_data (plugin->frame_buffer,
                                           &lock_area, 0, 0,
                                           lock_data);
@@ -648,8 +651,7 @@ show_password_entry (ply_boot_splash_plugin_t *plugin)
   y = area.height / 2.0 - entry_height / 2.0;
 
   plugin->entry = entry_new (x, y);
-  ply_frame_buffer_fill_with_hex_color (plugin->frame_buffer, NULL,
-                                        PLYMOUTH_BACKGROUND_COLOR);
+  draw_background (plugin, NULL);
   draw_password_entry (plugin);
 }
 
index b8f9b53c07c579753e9c7a1cb27869ccbd120e65..7db3e8a2383a77b0fe9d16955c6eacb629ac43d2 100644 (file)
@@ -144,6 +144,14 @@ destroy_plugin (ply_boot_splash_plugin_t *plugin)
   free (plugin);
 }
 
+static void
+draw_background (ply_boot_splash_plugin_t *plugin,
+                ply_frame_buffer_area_t  *area)
+{
+  ply_frame_buffer_fill_with_hex_color (plugin->frame_buffer, area,
+                                       PLYMOUTH_BACKGROUND_COLOR);
+}
+
 static void
 draw_logo (ply_boot_splash_plugin_t *plugin)
 {
@@ -161,8 +169,7 @@ draw_logo (ply_boot_splash_plugin_t *plugin)
   logo_area.height = height;
 
   ply_frame_buffer_pause_updates (plugin->frame_buffer);
-  ply_frame_buffer_fill_with_hex_color (plugin->frame_buffer, &logo_area,
-                                        PLYMOUTH_BACKGROUND_COLOR);
+  draw_background (plugin, &logo_area);
   ply_frame_buffer_fill_with_argb32_data (plugin->frame_buffer, 
                                           &logo_area, 0, 0,
                                           logo_data);
@@ -178,9 +185,7 @@ start_animation (ply_boot_splash_plugin_t *plugin)
   assert (plugin != NULL);
   assert (plugin->loop != NULL);
 
-  ply_frame_buffer_fill_with_hex_color (plugin->frame_buffer, NULL,
-                                        PLYMOUTH_BACKGROUND_COLOR);
-
+  draw_background (plugin, NULL);
   draw_logo (plugin);
 
   ply_frame_buffer_get_size (plugin->frame_buffer, &area);
@@ -389,8 +394,7 @@ draw_password_entry (ply_boot_splash_plugin_t *plugin)
   lock_data = ply_image_get_data (plugin->lock_image);
   box_data = ply_image_get_data (plugin->box_image);
 
-  ply_frame_buffer_fill_with_hex_color (plugin->frame_buffer, NULL,
-                                        PLYMOUTH_BACKGROUND_COLOR);
+  draw_background (plugin, NULL);
 
   ply_frame_buffer_fill_with_argb32_data (plugin->frame_buffer,
                                           &plugin->box_area, 0, 0,
@@ -449,8 +453,7 @@ show_password_entry (ply_boot_splash_plugin_t *plugin)
   plugin->lock_area.x = area.width / 2.0 - (plugin->lock_area.width + entry_width) / 2.0;
   plugin->lock_area.y = area.height / 2.0 - plugin->lock_area.height / 2.0;
 
-  ply_frame_buffer_fill_with_hex_color (plugin->frame_buffer, &plugin->lock_area,
-                                        PLYMOUTH_BACKGROUND_COLOR);
+  draw_background (plugin, &plugin->lock_area);
   draw_password_entry (plugin);
 }