From: Kristian Høgsberg Date: Mon, 2 Jun 2008 15:09:43 +0000 (-0400) Subject: Factor out background drawing in plugins. X-Git-Tag: 0.2.0~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f11cd0f666ba03db9bb467ac7ed5f6bca971ce48;p=thirdparty%2Fplymouth.git Factor out background drawing in plugins. --- diff --git a/src/splash-plugins/fade-in/plugin.c b/src/splash-plugins/fade-in/plugin.c index 13236d31..7f71c336 100644 --- a/src/splash-plugins/fade-in/plugin.c +++ b/src/splash-plugins/fade-in/plugin.c @@ -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); } diff --git a/src/splash-plugins/spinfinity/plugin.c b/src/splash-plugins/spinfinity/plugin.c index b8f9b53c..7db3e8a2 100644 --- a/src/splash-plugins/spinfinity/plugin.c +++ b/src/splash-plugins/spinfinity/plugin.c @@ -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); }