diff options
Diffstat (limited to 'src/gui/desktop.c')
-rw-r--r-- | src/gui/desktop.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/gui/desktop.c b/src/gui/desktop.c index 33afed6..d560e8a 100644 --- a/src/gui/desktop.c +++ b/src/gui/desktop.c @@ -41,22 +41,27 @@ void desktop_draw( void *obj, graphics_context_t *context ) return; } - vga_clear_screen( context, desktop->base.base.background_color ); + ((video_vtable_t *)(context->base.vtable))->clear_screen( context, + desktop->base.base.background_color ); composite_widget_draw( obj, context ); for( int i = 0; i < 4; i++ ) { if( desktop->mouse_x > i ) { - vga_set_pixel( context, desktop->mouse_x - i, desktop->mouse_y, VIDEO_RGB_COLOR_WHITE ); + ((video_vtable_t *)(context->base.vtable))->set_pixel( context, + desktop->mouse_x - i, desktop->mouse_y, VIDEO_RGB_COLOR_WHITE ); } - if( desktop->mouse_x < context->mode->base.x - i ) { - vga_set_pixel( context, desktop->mouse_x + i, desktop->mouse_y, VIDEO_RGB_COLOR_WHITE ); + if( desktop->mouse_x < context->mode->x - i ) { + ((video_vtable_t *)(context->base.vtable))->set_pixel( context, + desktop->mouse_x + i, desktop->mouse_y, VIDEO_RGB_COLOR_WHITE ); } if( desktop->mouse_y > i ) { - vga_set_pixel( context, desktop->mouse_x, desktop->mouse_y - i, VIDEO_RGB_COLOR_WHITE ); + ((video_vtable_t *)(context->base.vtable))->set_pixel( context, + desktop->mouse_x, desktop->mouse_y - i, VIDEO_RGB_COLOR_WHITE ); } - if( desktop->mouse_y < context->mode->base.y - i ) { - vga_set_pixel( context, desktop->mouse_x, desktop->mouse_y + i, VIDEO_RGB_COLOR_WHITE ); + if( desktop->mouse_y < context->mode->y - i ) { + ((video_vtable_t *)(context->base.vtable))->set_pixel( context, + desktop->mouse_x, desktop->mouse_y + i, VIDEO_RGB_COLOR_WHITE ); } } |