diff options
Diffstat (limited to 'src/gui/widget.c')
-rw-r--r-- | src/gui/widget.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/gui/widget.c b/src/gui/widget.c new file mode 100644 index 0000000..313fd49 --- /dev/null +++ b/src/gui/widget.c @@ -0,0 +1,35 @@ +#include "widget.h" + +#include "string.h" +#include "stddef.h" + +static widget_vtable_t widget_vtable = { + widget_draw, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL +}; + +void widget_init( widget_t *widget, widget_t *parent, const int x, const int y, const int w, const int h ) +{ + memset( widget, 0, sizeof( widget_t ) ); + + widget->parent = parent; + widget->x = x; + widget->y = y; + widget->w = w; + widget->h = h; + + widget->vtable = &widget_vtable; +} + +void widget_draw( void *obj, graphics_context_t *context ) +{ + widget_t *widget = obj; + + vga_draw_rectangle( context, widget->x, widget->y, widget->w, widget->h, + vga_make_RGB( 0xFF, 0xFF, 0xFF ) ); +} |