]> git.draconx.ca Git - liblbx.git/blobdiff - src/image.h
liblbx: Add support for "chunked" images.
[liblbx.git] / src / image.h
index e9de2bdbbb4411e4e78b571a758c6270ac69b1b9..9bd41eb1ac1aa35b3ff93a9dc2275b6a0569eb4b 100644 (file)
@@ -3,10 +3,34 @@
 
 #include <stdio.h>
 
-typedef struct lbx_image LBXIMG;
+typedef struct lbx_image LBX_IMG;
+struct lbx_file_ops;
 
-LBXIMG *lbximg_fopen(FILE *f);
-void    lbximg_close(LBXIMG *img);
-unsigned char **lbximg_getframe(LBXIMG *img, int frame);
+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);
+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(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