diff options
Diffstat (limited to 'src/gui/desktop.c')
-rw-r--r-- | src/gui/desktop.c | 9 |
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 |