eobish

annotate src/fblib.h @ 4:ce0548d24918

mostly works
author John Tsiombikas <nuclear@member.fsf.org>
date Sun, 18 Jan 2015 13:30:30 +0200
parents cdbcae5b3b98
children
rev   line source
nuclear@2 1 #ifndef FBLIB_H_
nuclear@2 2 #define FBLIB_H_
nuclear@2 3
nuclear@2 4 #ifdef __cplusplus
nuclear@2 5 extern "C" {
nuclear@2 6 #endif
nuclear@2 7
nuclear@2 8 /* pixel formats for various bpp values
nuclear@2 9 * 32: [R8][G8][B8][X8] or [X|B|G|R] (little endian)
nuclear@2 10 * 24: [R8][G8][B8]
nuclear@2 11 * 16: [R5|G6|B5]
nuclear@2 12 * 15: [R5|G5|B5]
nuclear@2 13 * 8: [I8] (8 bit color index)
nuclear@2 14 */
nuclear@2 15 int fb_init(int width, int height, int bpp);
nuclear@2 16 void fb_shutdown(void);
nuclear@2 17
nuclear@2 18 int fb_get_width(void);
nuclear@2 19 int fb_get_height(void);
nuclear@2 20 int fb_get_bpp(void);
nuclear@2 21
nuclear@2 22 void *fb_begin_frame(void);
nuclear@2 23 void fb_end_frame(void);
nuclear@2 24
nuclear@2 25 void fb_set_palette(int *colors);
nuclear@2 26 void fb_set_palette_range(int start, int count, int *colors);
nuclear@2 27 void fb_set_palette_entry(int idx, int r, int g, int b);
nuclear@2 28
nuclear@2 29 /* event handling */
nuclear@2 30 int fb_key_state(int key);
nuclear@2 31 int fb_mouse_state(int bn, int *x, int *y);
nuclear@2 32
nuclear@4 33 void fb_keyboard_callback(int (*func)(int, int, void*), void *cls);
nuclear@4 34 void fb_mouse_button_callback(int (*func)(int, int, int, int, void*), void *cls);
nuclear@4 35 void fb_mouse_motion_callback(int (*func)(int, int, void*), void *cls);
nuclear@2 36
nuclear@2 37 int fb_process_events(void);
nuclear@2 38
nuclear@2 39 /* misc */
nuclear@2 40 unsigned long fb_get_time(void);
nuclear@2 41
nuclear@2 42 #ifdef __cplusplus
nuclear@2 43 }
nuclear@2 44 #endif
nuclear@2 45
nuclear@2 46
nuclear@2 47 #endif /* FBLIB_H_ */