]> git.draconx.ca Git - liblbx.git/blobdiff - src/image.h
liblbx: Add support for "chunked" images.
[liblbx.git] / src / image.h
index e2d18aa9141ed10265716949e7e5dcc300f9816b..9bd41eb1ac1aa35b3ff93a9dc2275b6a0569eb4b 100644 (file)
@@ -4,18 +4,33 @@
 #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 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);
+
 #endif