]> git.draconx.ca Git - liblbx.git/blobdiff - src/image.h
liblbx: Rename LBX_IMG to LBXimg.
[liblbx.git] / src / image.h
index 3ef95ab95f821430dec4d028634b2a3f947d84ae..0d5b111c6cc720ee04e47b545f26488d444ae8ee 100644 (file)
@@ -3,29 +3,34 @@
 
 #include <stdio.h>
 
-typedef struct lbx_image LBX_IMG;
+typedef struct lbx_image LBXimg;
+struct lbx_file_ops;
 
 struct lbx_colour {
        unsigned char red;
        unsigned char green;
        unsigned char blue;
+       unsigned char active;
 };
 
 struct lbx_imginfo {
-       unsigned int width, height;
-       unsigned int nframes, loopstart;
-       int haspalette;
-       int looping;
+       unsigned short width, height;
+       unsigned char  nframes, loopstart, chunk;
+       int palettesz, looping;
 };
 
-LBX_IMG *lbximg_fopen(FILE *f);
-void     lbximg_close(LBX_IMG *img);
-unsigned char **lbximg_getframe(LBX_IMG *img, int frame);
-unsigned char **lbximg_getmask(LBX_IMG *img);
+LBXimg *lbximg_open(void *f, const struct lbx_file_ops *fops,
+                     int (*destructor)(void *));
+LBXimg *lbximg_fopen(const char *file);
+int     lbximg_close(LBXimg *img);
 
-int lbximg_loadpalette(FILE *f, struct lbx_colour palette[static 256]);
-int lbximg_getpalette(LBX_IMG *img, struct lbx_colour palette[static 256]);
+unsigned char **lbximg_getframe(LBXimg *img, int frame);
+unsigned char **lbximg_getmask(LBXimg *img);
 
-void lbximg_getinfo(LBX_IMG *img, struct lbx_imginfo *info);
+int lbximg_loadpalette(void *f, const struct lbx_file_ops *fops,
+                       struct lbx_colour palette[static 256]);
+int lbximg_getpalette(LBXimg *img, struct lbx_colour palette[static 256]);
+
+void lbximg_getinfo(LBXimg *img, struct lbx_imginfo *info);
 
 #endif