summaryrefslogtreecommitdiff
path: root/src/gui/text_widget.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/text_widget.c')
-rw-r--r--src/gui/text_widget.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/gui/text_widget.c b/src/gui/text_widget.c
index 2567df3..170066a 100644
--- a/src/gui/text_widget.c
+++ b/src/gui/text_widget.c
@@ -13,7 +13,7 @@ static text_widget_vtable_t text_widget_vtable = {
widget_on_mouse_up,
widget_on_mouse_move,
text_widget_on_key_down,
- text_widget_on_key_up
+ widget_on_key_up
},
text_widget_set_text
};
@@ -28,7 +28,7 @@ void text_widget_init( text_widget_t *widget, widget_t *parent, const int x, con
widget->base.focusable = true;
- widget->base.vtable = (widget_vtable_t *)&text_widget_vtable;
+ ((widget_t *)widget)->vtable = (widget_vtable_t *)&text_widget_vtable;
}
void text_widget_draw( void *obj, graphics_context_t *context )
@@ -42,13 +42,14 @@ void text_widget_draw( void *obj, graphics_context_t *context )
int w = 0;
int h = 0;
- widget->base.vtable->model_to_screen( widget, &x, &y );
+ ((widget_t *)widget)->vtable->model_to_screen( widget, &x, &y );
for( const char *p = widget->s; *p != '\0'; p++ ) {
- vga_draw_char( context, *p, x + w, y + h, widget->base.background_color,
+ vga_draw_char( context, *p, x + w, y + h,
+ ((widget_t *)widget)->background_color,
VGA_COLOR_WHITE );
w += 9;
- if( w >= widget->base.w - 10 ) {
+ if( w >= ((widget_t *)widget)->w - 10 ) {
h += 16;
w = 0;
}
@@ -72,7 +73,3 @@ void text_widget_on_key_down( void *obj, char c )
widget->s[strlen( widget->s )+1] = '\0';
}
}
-
-void text_widget_on_key_up( void *obj, char c )
-{
-}