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)
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);
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);
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
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,
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);
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);
}
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)
{
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);
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);
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,
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);
}