aboutsummaryrefslogtreecommitdiffstats
path: root/w3mimg/w3mimg.h
diff options
context:
space:
mode:
Diffstat (limited to 'w3mimg/w3mimg.h')
-rw-r--r--w3mimg/w3mimg.h52
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;
+}