diff options
Diffstat (limited to '')
-rw-r--r-- | w3mimg/w3mimg.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/w3mimg/w3mimg.h b/w3mimg/w3mimg.h new file mode 100644 index 0000000..086b1d5 --- /dev/null +++ b/w3mimg/w3mimg.h @@ -0,0 +1,52 @@ +/* $Id: w3mimg.h,v 1.1 2002/07/17 20:58:48 ukai Exp $ */ +#include "config.h" + +#ifdef USE_W3MIMG_FB +#include "w3mimg/fb/fb.h" +#include "w3mimg/fb/fb_img.h" +#endif + +typedef struct { + void *pixmap; /* driver specific */ + int width; + int height; +} W3MImage; + +typedef struct _w3mimg_op { + void *priv; /* driver specific data */ + int width, height; /* window width, height */ + int offset_x, offset_y; /* offset */ + + int (*init)(struct _w3mimg_op *self); + int (*finish)(struct _w3mimg_op *self); + int (*active)(struct _w3mimg_op *self); + void (*set_background)(struct _w3mimg_op *self, char *background); + void (*sync)(struct _w3mimg_op *self); + void (*close)(struct _w3mimg_op *self); + + int (*load_image)(struct _w3mimg_op *self, W3MImage *img, char *fname, + int w, int h); + int (*show_image)(struct _w3mimg_op *self, W3MImage *img, + int sx, int sy, int sw, int sh, int x, int y); + void (*free_image)(struct _w3mimg_op *self, W3MImage *img); +} w3mimg_op; + +#ifdef USE_W3MIMG_X11 +w3mimg_op *w3mimg_x11open(); +#endif +#ifdef USE_W3MIMG_FB +w3mimg_op *w3mimg_fbopen(); +#endif + +static w3mimg_op *w3mimg_open() { + w3mimg_op *w_op = NULL; +#ifdef USE_W3MIMG_X11 + if (w_op == NULL) + w_op = w3mimg_x11open(); +#endif +#ifdef USE_W3MIMG_FB + if (w_op == NULL) + w_op = w3mimg_fbopen(); +#endif + return w_op; +} |