]> git.draconx.ca Git - liblbx.git/blobdiff - src/image.h
liblbx: Add support for "chunked" images.
[liblbx.git] / src / image.h
index a1f2eff86c7df9af068c2ed5e2174993aa4f6263..9bd41eb1ac1aa35b3ff93a9dc2275b6a0569eb4b 100644 (file)
@@ -4,25 +4,31 @@
 #include <stdio.h>
 
 typedef struct lbx_image LBX_IMG;
+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_open(void *f, const struct lbx_file_ops *fops,
+                     int (*destructor)(void *));
 LBX_IMG *lbximg_fopen(FILE *f);
-void     lbximg_close(LBX_IMG *img);
+int      lbximg_close(LBX_IMG *img);
+
 unsigned char **lbximg_getframe(LBX_IMG *img, int frame);
+unsigned char **lbximg_getmask(LBX_IMG *img);
 
-int lbximg_loadpalette(FILE *f, struct lbx_colour palette[static 256]);
+int lbximg_loadpalette(void *f, const struct lbx_file_ops *fops,
+                       struct lbx_colour palette[static 256]);
 int lbximg_getpalette(LBX_IMG *img, struct lbx_colour palette[static 256]);
 
 void lbximg_getinfo(LBX_IMG *img, struct lbx_imginfo *info);