#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_fopen(FILE *f);
-void lbximg_close(LBX_IMG *img);
+LBX_IMG *lbximg_open(void *f, const struct lbx_file_ops *fops,
+ int (*destructor)(void *));
+LBX_IMG *lbximg_fopen(const char *file);
+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);