X-Git-Url: http://git.draconx.ca/gitweb/liblbx.git/blobdiff_plain/488ae1c1e2b6e1767792010e4ea1f0e9447719d5..fc8dd8be3744680d93c490227be4db8628377d3c:/src/image.h diff --git a/src/image.h b/src/image.h index a1f2eff..c1ca3ba 100644 --- a/src/image.h +++ b/src/image.h @@ -4,25 +4,31 @@ #include 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);