fbee
diff src/fbee.c @ 0:88a2049be27b
fbee initial
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Tue, 05 Feb 2013 13:40:36 +0200 |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/fbee.c Tue Feb 05 13:40:36 2013 +0200 1.3 @@ -0,0 +1,63 @@ 1.4 +#include <string.h> 1.5 +#include "fbee.h" 1.6 +#include "fbeeimpl.h" 1.7 + 1.8 +static struct closure evfunc[NUM_FBEE_EVENTS]; 1.9 + 1.10 +int fbee_init(void) 1.11 +{ 1.12 + memset(evfunc, 0, sizeof evfunc); 1.13 + 1.14 + return fbee_sys_init(); 1.15 +} 1.16 + 1.17 +void fbee_destroy(void) 1.18 +{ 1.19 + fbee_sys_destroy(); 1.20 +} 1.21 + 1.22 +int fbee_set_video_mode(int width, int height, int bpp, unsigned int flags) 1.23 +{ 1.24 + return fbee_sys_set_video(width, height, bpp, flags); 1.25 +} 1.26 + 1.27 +int fbee_get_video_mode(int *width, int *height, int *bpp) 1.28 +{ 1.29 + return fbee_sys_get_video(width, height, bpp); 1.30 +} 1.31 + 1.32 +void fbee_event_func(int evtype, void (*func)(), void *cls) 1.33 +{ 1.34 + evfunc[evtype].func = func; 1.35 + evfunc[evtype].cls = cls; 1.36 +} 1.37 + 1.38 +int fbee_process_events(void) 1.39 +{ 1.40 + return fbee_sys_process_events(); 1.41 +} 1.42 + 1.43 +void fbee_evloop(void) 1.44 +{ 1.45 + fbee_sys_evloop(); 1.46 +} 1.47 + 1.48 +void *fbee_framebuffer(void) 1.49 +{ 1.50 + return fbee_sys_framebuffer(); 1.51 +} 1.52 + 1.53 +void fbee_update(void *img) 1.54 +{ 1.55 + fbee_sys_update(img); 1.56 +} 1.57 + 1.58 + 1.59 +struct closure *fbee_get_callback(int ev) 1.60 +{ 1.61 + if(ev < 0 || ev >= NUM_FBEE_EVENTS) { 1.62 + return 0; 1.63 + } 1.64 + 1.65 + return evfunc[ev].func ? evfunc + ev : 0; 1.66 +}