From f8181f1355cf8218daf2ee2153606b7eccf1cb18 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 1 Jul 2017 20:56:00 +0200 Subject: got rid of superflous vtables in GUI class hierarchy --- src/kernel/kernel.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/kernel/kernel.c') diff --git a/src/kernel/kernel.c b/src/kernel/kernel.c index 9a66e89..12fc33f 100644 --- a/src/kernel/kernel.c +++ b/src/kernel/kernel.c @@ -153,7 +153,7 @@ void kernel_main( void ) interrupts_disable( ); // as vga_t is equals to the graphical context for now - ((widget_vtable_t *)global_context.desktop.vtable)->draw( &global_context.desktop, &global_context.vga ); + ((widget_vtable_t *)global_context.desktop.base.base.vtable)->draw( &global_context.desktop, &global_context.vga ); vga_refresh( &global_context.vga ); @@ -236,10 +236,10 @@ static void handle_keyboard_event( keyboard_event_t *event, void *context ) desktop_init( &global_context->desktop, 320, 200, VGA_COLOR_BLUE ); window_init( &global_context->window1, (widget_t *)&global_context->desktop, 60, 90, 60, 70, VGA_COLOR_LIGHT_GREY ); - ((composite_widget_vtable_t *)global_context->desktop.vtable)->add_child( &global_context->desktop, (widget_t *)&global_context->window1 ); + ((composite_widget_vtable_t *)global_context->desktop.base.base.vtable)->add_child( &global_context->desktop, (widget_t *)&global_context->window1 ); window_init( &global_context->window2, (widget_t *)&global_context->desktop, 130, 80, 60, 70, VGA_COLOR_GREEN ); - ((composite_widget_vtable_t *)global_context->desktop.vtable)->add_child( &global_context->desktop, (widget_t *)&global_context->window2 ); + ((composite_widget_vtable_t *)global_context->desktop.base.base.vtable)->add_child( &global_context->desktop, (widget_t *)&global_context->window2 ); char s[100]; @@ -250,10 +250,10 @@ static void handle_keyboard_event( keyboard_event_t *event, void *context ) *p = '\0'; window_init( &global_context->window3, (widget_t *)&global_context->desktop, 55, 5, vga->mode.x - 65, 100, VGA_COLOR_CYAN ); - ((composite_widget_vtable_t *)global_context->desktop.vtable)->add_child( &global_context->desktop, (widget_t *)&global_context->window3 ); + ((composite_widget_vtable_t *)global_context->desktop.base.base.vtable)->add_child( &global_context->desktop, (widget_t *)&global_context->window3 ); text_widget_init( &global_context->widget3, (widget_t *)&global_context->window3, 1, 1, global_context->window3.base.base.w - 2, global_context->window3.base.base.h - 2, VGA_COLOR_RED, s ); - ((composite_widget_vtable_t *)global_context->window3.vtable)->add_child( (composite_widget_t *)&global_context->window3, (widget_t *)&global_context->widget3 ); + ((composite_widget_vtable_t *)global_context->window3.base.base.vtable)->add_child( (composite_widget_t *)&global_context->window3, (widget_t *)&global_context->widget3 ); mouse_set_resolution( mouse, vga->mode.x, vga->mode.y ); @@ -295,7 +295,7 @@ static void handle_keyboard_event( keyboard_event_t *event, void *context ) case MODE_GRAPHICS: if( event->type == KEYBOARD_EVENT_TYPE_KEY_PRESSED ) { if( event->key == KEYBOARD_KEY_ASCII ) { - ((widget_vtable_t *)global_context->desktop.vtable)->on_key_down( &global_context->desktop, event->ascii_key ); + ((widget_vtable_t *)global_context->desktop.base.base.vtable)->on_key_down( &global_context->desktop, event->ascii_key ); } } break; -- cgit v1.2.3-54-g00ecf