diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2017-06-21 20:25:27 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2017-06-21 20:25:27 +0200 |
commit | c8f2689dbeca2bf51d41bbf861c495bb4b0c29ce (patch) | |
tree | 4d50fcd52ce35f58a686f14055e2d198b66a41e7 /src/kernel/kernel.c | |
parent | ed983944d6d00a055ff90f04f6f1e12aca87bb86 (diff) | |
download | abaos-c8f2689dbeca2bf51d41bbf861c495bb4b0c29ce.tar.gz abaos-c8f2689dbeca2bf51d41bbf861c495bb4b0c29ce.tar.bz2 |
started to rewrite to use the main desktop widget
Diffstat (limited to 'src/kernel/kernel.c')
-rw-r--r-- | src/kernel/kernel.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/kernel/kernel.c b/src/kernel/kernel.c index 3f97d67..de6dd90 100644 --- a/src/kernel/kernel.c +++ b/src/kernel/kernel.c @@ -21,6 +21,8 @@ #include "drivers/video/vga.h" #include "graphics_context.h" #include "widget.h" +#include "composite_widget.h" +#include "desktop.h" static jmp_buf panic_jmp_buf; @@ -194,6 +196,15 @@ static void handle_keyboard_event( keyboard_event_t *event, void *context ) switch( global_context->mode ) { case MODE_TEXT: if( vga_set_mode( vga, vga_make_mode( VGA_MODE_TYPE_GRAPHICS, 320, 200, 8 ) ) ) { + desktop_t desktop; + desktop_init( &desktop, 320, 200, VGA_COLOR_BLUE ); + + widget_t widget; + widget_init( &widget, (widget_t *)&desktop, 50, 50, 60, 70, VGA_COLOR_LIGHT_GREY ); + ((composite_widget_vtable_t *)desktop.vtable)->add_child( &desktop, &widget ); + + ((widget_vtable_t *)desktop.vtable)->draw( &desktop, &global_context->vga ); +#if 0 vga_clear_screen( vga, VGA_COLOR_BLUE ); vga_draw_char( vga, 'A', 10, 10, VGA_COLOR_BLUE, VGA_COLOR_WHITE ); @@ -214,6 +225,7 @@ static void handle_keyboard_event( keyboard_event_t *event, void *context ) widget_init( &widget, NULL, 50, 50, 60, 70 ); // as vga_t is equals to the graphical context for now widget.vtable->draw( &widget, &global_context->vga ); +#endif } global_context->mode = MODE_GRAPHICS; break; |