summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-06-25 07:48:48 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-06-25 07:48:48 +0200
commite77368940afaa2bbc7bd883ef6cd25a5565a1bbd (patch)
treed05f5f399b57a249535f7d88a44abe8473db6797
parent32e2ee0e675265b46338722773606467add4623b (diff)
downloadabaos-e77368940afaa2bbc7bd883ef6cd25a5565a1bbd.tar.gz
abaos-e77368940afaa2bbc7bd883ef6cd25a5565a1bbd.tar.bz2
fixed calculation of coordinates in text widget
-rw-r--r--src/gui/text_widget.c12
-rw-r--r--src/kernel/kernel.c2
2 files changed, 8 insertions, 6 deletions
diff --git a/src/gui/text_widget.c b/src/gui/text_widget.c
index 6071fd1..64bf161 100644
--- a/src/gui/text_widget.c
+++ b/src/gui/text_widget.c
@@ -40,16 +40,18 @@ void text_widget_draw( void *obj, graphics_context_t *context )
int x = 0;
int y = 0;
+ int w = 0;
+ int h = 0;
widget->base.vtable->model_to_screen( widget, &x, &y );
for( const char *p = widget->s; *p != '\0'; p++ ) {
- vga_draw_char( context, *p, x, y, widget->base.background_color,
+ vga_draw_char( context, *p, x + w, y + h, widget->base.background_color,
VGA_COLOR_WHITE );
- x += 9;
- if( x >= widget->base.w - 9 ) {
- y += 16;
- x = 0;
+ w += 9;
+ if( w >= widget->base.w - 9 ) {
+ h += 16;
+ w = 0;
}
}
diff --git a/src/kernel/kernel.c b/src/kernel/kernel.c
index 99a162b..b17baf4 100644
--- a/src/kernel/kernel.c
+++ b/src/kernel/kernel.c
@@ -215,7 +215,7 @@ static void handle_keyboard_event( keyboard_event_t *event, void *context )
}
*p = '\0';
text_widget_t widget3;
- text_widget_init( &widget3, (widget_t *)&desktop, 5, 5, vga->mode.x - 10 , 100, VGA_COLOR_RED, s );
+ text_widget_init( &widget3, (widget_t *)&desktop, 55, 5, vga->mode.x - 65 , 100, VGA_COLOR_RED, s );
((composite_widget_vtable_t *)desktop.vtable)->add_child( &desktop, (widget_t *)&widget3 );
// as vga_t is equals to the graphical context for now