1 /* $Id: w3mimg.h,v 1.9 2010/12/21 10:13:55 htrb Exp $ */
2 #ifndef W3MIMG_W3MIMG_H
3 #define W3MIMG_W3MIMG_H
4 
5 #include "config.h"
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 #ifdef USE_W3MIMG_FB
12 #include "w3mimg/fb/fb.h"
13 #include "w3mimg/fb/fb_img.h"
14 #endif
15 
16 typedef struct {
17     void *pixmap;		/* driver specific */
18     int width;
19     int height;
20 } W3MImage;
21 
22 typedef struct _w3mimg_op {
23     void *priv;			/* driver specific data */
24     int width, height;		/* window width, height */
25     int offset_x, offset_y;	/* offset */
26     int clear_margin;
27     int max_anim;
28 
29     int (*init) (struct _w3mimg_op * self);
30     int (*finish) (struct _w3mimg_op * self);
31     int (*active) (struct _w3mimg_op * self);
32     void (*set_background) (struct _w3mimg_op * self, char *background);
33     void (*sync) (struct _w3mimg_op * self);
34     void (*close) (struct _w3mimg_op * self);
35 
36     int (*load_image) (struct _w3mimg_op * self, W3MImage * img, char *fname,
37 		       int w, int h);
38     int (*show_image) (struct _w3mimg_op * self, W3MImage * img,
39 		       int sx, int sy, int sw, int sh, int x, int y);
40     void (*free_image) (struct _w3mimg_op * self, W3MImage * img);
41     int (*get_image_size) (struct _w3mimg_op * self, W3MImage * img,
42 			   char *fname, int *w, int *h);
43     int (*clear) (struct _w3mimg_op * self, int x, int y, int w, int h);
44 } w3mimg_op;
45 
46 #ifdef USE_W3MIMG_X11
47 extern w3mimg_op *w3mimg_x11open();
48 #endif
49 #ifdef USE_W3MIMG_FB
50 extern w3mimg_op *w3mimg_fbopen();
51 #endif
52 #ifdef USE_W3MIMG_WIN
53 extern w3mimg_op *w3mimg_winopen();
54 #endif
55 
56 extern w3mimg_op *w3mimg_open();
57 
58 #ifdef __cplusplus
59 }
60 #endif
61 #endif /* W3MIMG_W3MIMG_H */
62