diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2017-07-01 20:56:00 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2017-07-01 20:56:00 +0200 |
commit | f8181f1355cf8218daf2ee2153606b7eccf1cb18 (patch) | |
tree | f5f1bab87dbc3c99bec83ea00b78989344f8bf27 /src/kernel | |
parent | 85df1646ecccc7e484e2efc903166b89e4c55684 (diff) | |
download | abaos-f8181f1355cf8218daf2ee2153606b7eccf1cb18.tar.gz abaos-f8181f1355cf8218daf2ee2153606b7eccf1cb18.tar.bz2 |
got rid of superflous vtables in GUI class hierarchy
Diffstat (limited to 'src/kernel')
-rw-r--r-- | src/kernel/kernel.c | 12 |
1 files changed, 6 insertions, 6 deletions
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; |