fbee

annotate 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
rev   line source
nuclear@0 1 #include <string.h>
nuclear@0 2 #include "fbee.h"
nuclear@0 3 #include "fbeeimpl.h"
nuclear@0 4
nuclear@0 5 static struct closure evfunc[NUM_FBEE_EVENTS];
nuclear@0 6
nuclear@0 7 int fbee_init(void)
nuclear@0 8 {
nuclear@0 9 memset(evfunc, 0, sizeof evfunc);
nuclear@0 10
nuclear@0 11 return fbee_sys_init();
nuclear@0 12 }
nuclear@0 13
nuclear@0 14 void fbee_destroy(void)
nuclear@0 15 {
nuclear@0 16 fbee_sys_destroy();
nuclear@0 17 }
nuclear@0 18
nuclear@0 19 int fbee_set_video_mode(int width, int height, int bpp, unsigned int flags)
nuclear@0 20 {
nuclear@0 21 return fbee_sys_set_video(width, height, bpp, flags);
nuclear@0 22 }
nuclear@0 23
nuclear@0 24 int fbee_get_video_mode(int *width, int *height, int *bpp)
nuclear@0 25 {
nuclear@0 26 return fbee_sys_get_video(width, height, bpp);
nuclear@0 27 }
nuclear@0 28
nuclear@0 29 void fbee_event_func(int evtype, void (*func)(), void *cls)
nuclear@0 30 {
nuclear@0 31 evfunc[evtype].func = func;
nuclear@0 32 evfunc[evtype].cls = cls;
nuclear@0 33 }
nuclear@0 34
nuclear@0 35 int fbee_process_events(void)
nuclear@0 36 {
nuclear@0 37 return fbee_sys_process_events();
nuclear@0 38 }
nuclear@0 39
nuclear@0 40 void fbee_evloop(void)
nuclear@0 41 {
nuclear@0 42 fbee_sys_evloop();
nuclear@0 43 }
nuclear@0 44
nuclear@0 45 void *fbee_framebuffer(void)
nuclear@0 46 {
nuclear@0 47 return fbee_sys_framebuffer();
nuclear@0 48 }
nuclear@0 49
nuclear@0 50 void fbee_update(void *img)
nuclear@0 51 {
nuclear@0 52 fbee_sys_update(img);
nuclear@0 53 }
nuclear@0 54
nuclear@0 55
nuclear@0 56 struct closure *fbee_get_callback(int ev)
nuclear@0 57 {
nuclear@0 58 if(ev < 0 || ev >= NUM_FBEE_EVENTS) {
nuclear@0 59 return 0;
nuclear@0 60 }
nuclear@0 61
nuclear@0 62 return evfunc[ev].func ? evfunc + ev : 0;
nuclear@0 63 }