aboutsummaryrefslogblamecommitdiffstats
path: root/w3mimg/w3mimg.h
blob: f6415a9b8826fc88851807cc91bb28a9d32886d4 (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                                                        

                   



                  





                             
                                                     




                           


                                                          
                     
                 
 





                                                                        
 




                                                                             
                                                                    
                                                        
                                                                        


                     
                                   

                    
                                  
      


                                   
 
                                




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