initial checkin of dfbapi
[physik/nlsop.git] / dfbapi.h
1 /* 
2  * scientific visualization api for direct framebuffer
3  *
4  * author: hackbard@hackdaworld.dyndns.org
5  *
6  */
7
8 #include <directfb.h>
9
10 /* two dimensional lattice */
11
12 #define X_GAP 5
13 #define Y_GAP X_GAP
14 #define RED 1
15
16 typedef struct __d2_lattice
17 {
18  int max_x,max_y;
19  int s_height,s_width;
20  int fakt_x,fakt_y;
21  int info_x,info_y;
22  int info_w,info_h;
23  int font_h;
24  unsigned char *status; /* status&1 -> red, else blue */
25  IDirectFB *dfb;
26  IDirectFBSurface *p_surface;
27  IDirectFBFont *font;
28  IDirectFBInputDevice *keyboard;
29  IDirectFBEventBuffer *k_buffer;
30 } d2_lattice;
31
32 typedef struct __d3_lattice
33 {
34  int max_x,max_y,max_z;
35  int s_height,s_width;
36  int fakt_x,fakt_y;
37  int info_x,info_y;
38  int info_w,info_h;
39  int font_h;
40  unsigned char *status; /* status&1 -> red, else blue */
41  IDirectFB *dfb;
42  IDirectFBSurface *p_surface;
43  IDirectFBFont *font;
44  IDirectFBInputDevice *keyboard;
45  IDirectFBEventBuffer *k_buffer;
46 } d3_lattice;
47
48 /* function prototypes */
49 int d2_lattice_init(int *argc,char **argv,d2_lattice *d2_l,int x,int y);
50 int d2_lattice_release(d2_lattice *d2_l);
51 int d2_lattice_draw(d2_lattice *d2_l,int x,int y,int arg_c,char **arg_v);
52 int d3_lattice_init(int *argc,char **argv,d3_lattice *d3_l,int x,int y,int z);
53 int d3_lattice_release(d3_lattice *d3_l);
54 int d3_lattice_draw(d3_lattice *d3_l,int x,int y,int z,int arg_c,char **arg_v);
55 int dx_lattice_get_color(unsigned char *status,unsigned char *r,unsigned char *g,unsigned char *b);
56