aboutsummaryrefslogblamecommitdiffstats
path: root/w3mimg/w3mimg.h
blob: 086b1d5840f2e79e4d1b7b6ad91320ae167e1b1f (plain) (tree)



















































                                                                           
/* $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;
}