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