summaryrefslogtreecommitdiff
path: root/src/gui/desktop.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/desktop.c')
-rw-r--r--src/gui/desktop.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gui/desktop.c b/src/gui/desktop.c
index 1a0a5a8..ee4a6e5 100644
--- a/src/gui/desktop.c
+++ b/src/gui/desktop.c
@@ -15,15 +15,16 @@ static desktop_vtable_t desktop_vtable = {
desktop_on_mouse_move,
composite_widget_on_key_down,
composite_widget_on_key_up
- }
+ },
+ composite_widget_add_child
}
};
-void desktop_init( desktop_t *desktop, const int w, const int h )
+void desktop_init( desktop_t *desktop, const int w, const int h, const vga_color_t background_color )
{
memset( desktop, 0, sizeof( desktop_t ) );
- composite_widget_init( &desktop->base, NULL, 0, 0, w, h );
+ composite_widget_init( &desktop->base, NULL, 0, 0, w, h, background_color );
desktop->vtable = &desktop_vtable;
}
@@ -32,6 +33,8 @@ void desktop_draw( void *obj, graphics_context_t *context )
{
desktop_t *desktop = obj;
+ vga_clear_screen( context, desktop->base.base.background_color );
+
((widget_vtable_t *)(desktop->base.vtable))->draw( obj, context );
// TODO: use a mouse bitmap and copy it