]> git.draconx.ca Git - liblbx.git/blobdiff - src/image.h
liblbx: Kill the LBXimg typedef.
[liblbx.git] / src / image.h
index a1f2eff86c7df9af068c2ed5e2174993aa4f6263..2679babcc34ff40cbebf515252daa7f02dec5aa5 100644 (file)
@@ -3,28 +3,39 @@
 
 #include <stdio.h>
 
-typedef struct lbx_image LBX_IMG;
+struct lbx_file_ops;
+
+struct lbx_image {
+       unsigned short width, height;
+       unsigned char frames, chunk;
+};
 
 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);
+struct lbx_image *lbx_img_open(void *f, const struct lbx_file_ops *fops,
+                               int (*destructor)(void *));
+struct lbx_image *lbx_img_fopen(const char *file);
+int     lbx_img_close(struct lbx_image *img);
+
+unsigned char **lbx_img_getframe(struct lbx_image *img, int frame);
+unsigned char **lbx_img_getmask(struct lbx_image *img);
 
-int lbximg_loadpalette(FILE *f, struct lbx_colour palette[static 256]);
-int lbximg_getpalette(LBX_IMG *img, struct lbx_colour palette[static 256]);
+int lbx_img_loadpalette(void *f, const struct lbx_file_ops *fops,
+                       struct lbx_colour palette[static 256]);
+int lbx_img_getpalette(struct lbx_image *img,
+                       struct lbx_colour palette[static 256]);
 
-void lbximg_getinfo(LBX_IMG *img, struct lbx_imginfo *info);
+void lbx_img_getinfo(struct lbx_image *img, struct lbx_imginfo *info);
 
 #endif