aboutsummaryrefslogtreecommitdiffstats
path: root/w3mimg/w3mimg.h
blob: f6415a9b8826fc88851807cc91bb28a9d32886d4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/* $Id: w3mimg.h,v 1.9 2010/12/21 10:13:55 htrb Exp $ */
#ifndef W3MIMG_W3MIMG_H
#define W3MIMG_W3MIMG_H

#include "config.h"

#ifdef __cplusplus
extern "C" {
#endif

#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 clear_margin;
    int max_anim;

    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);
    int (*get_image_size) (struct _w3mimg_op * self, W3MImage * img,
			   char *fname, int *w, int *h);
    int (*clear) (struct _w3mimg_op * self, int x, int y, int w, int h);
} w3mimg_op;

#ifdef USE_W3MIMG_X11
extern w3mimg_op *w3mimg_x11open();
#endif
#ifdef USE_W3MIMG_FB
extern w3mimg_op *w3mimg_fbopen();
#endif
#ifdef USE_W3MIMG_WIN
extern w3mimg_op *w3mimg_winopen();
#endif

extern w3mimg_op *w3mimg_open();

#ifdef __cplusplus
}
#endif
#endif /* W3MIMG_W3MIMG_H */