#ifndef DESKTOP_H #define DESKTOP_H #include "composite_widget.h" #define MAX_NOF_WIDGET_CHILDREN 100 #include typedef struct { composite_widget_vtable_t base; } desktop_vtable_t; typedef struct { composite_widget_t base; int mouse_x; int mouse_y; bool needs_redrawing; } desktop_t; void desktop_init( desktop_t *widget, const int w, const int h, const vga_color_t background_color ); void desktop_draw( void *obj, graphics_context_t *context ); void desktop_on_mouse_down( void *obj, const int x, const int y ); void desktop_on_mouse_up( void *obj, const int x, const int y ); void desktop_on_mouse_move( void *obj, const int old_x, const int old_y, const int x, const int y ); void desktop_on_key_down( void *obj, char c ); #endif // DESKTOP_H