From 752ff17265f23d4fa9084368d2a90f66521a98e2 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 22 Jul 2017 16:14:14 +0200 Subject: separated video driver in a virtual video driver and a specific VGA video driver --- src/gui/desktop.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/gui/desktop.c') 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 ); } } -- cgit v1.2.3-54-g00ecf