summaryrefslogtreecommitdiff
path: root/src/kernel/kernel.c
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-06-21 20:25:27 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-06-21 20:25:27 +0200
commitc8f2689dbeca2bf51d41bbf861c495bb4b0c29ce (patch)
tree4d50fcd52ce35f58a686f14055e2d198b66a41e7 /src/kernel/kernel.c
parented983944d6d00a055ff90f04f6f1e12aca87bb86 (diff)
downloadabaos-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.c12
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;