diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2017-07-22 16:14:14 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2017-07-22 16:14:14 +0200 |
commit | 752ff17265f23d4fa9084368d2a90f66521a98e2 (patch) | |
tree | 2acad7fc117add49064f261cfbadcd341c7406b6 /src/gui/desktop.c | |
parent | 95292027625e905080f37f585402f49ec49bc97f (diff) | |
download | abaos-752ff17265f23d4fa9084368d2a90f66521a98e2.tar.gz abaos-752ff17265f23d4fa9084368d2a90f66521a98e2.tar.bz2 |
separated video driver in a virtual video driver and a specific
VGA video driver
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 ); } } |