X-Git-Url: http://git.draconx.ca/gitweb/liblbx.git/blobdiff_plain/b80e216b9af2add6fd04066b9ed02e48be047429..00e318f5bb311bf787776e79d73fc05b2a616bd0:/src/image.h diff --git a/src/image.h b/src/image.h index e2d18aa..e0a52bb 100644 --- a/src/image.h +++ b/src/image.h @@ -3,19 +3,34 @@ #include -typedef struct lbx_image LBX_IMG; +typedef struct lbx_image LBXimg; +struct lbx_file_ops; struct lbx_colour { unsigned char red; unsigned char green; unsigned char blue; + unsigned char active; }; -LBX_IMG *lbximg_fopen(FILE *f); -void lbximg_close(LBX_IMG *img); -unsigned char **lbximg_getframe(LBX_IMG *img, int frame); +struct lbx_imginfo { + unsigned short width, height; + unsigned char nframes, loopstart, chunk; + int palettesz, looping; +}; + +LBXimg *lbx_img_open(void *f, const struct lbx_file_ops *fops, + int (*destructor)(void *)); +LBXimg *lbx_img_fopen(const char *file); +int lbx_img_close(LBXimg *img); + +unsigned char **lbx_img_getframe(LBXimg *img, int frame); +unsigned char **lbx_img_getmask(LBXimg *img); + +int lbx_img_loadpalette(void *f, const struct lbx_file_ops *fops, + struct lbx_colour palette[static 256]); +int lbx_img_getpalette(LBXimg *img, struct lbx_colour palette[static 256]); -int lbximg_loadpalette(FILE *f, struct lbx_colour palette[static 256]); -int lbximg_getpalette(LBX_IMG *img, struct lbx_colour palette[static 256]); +void lbx_img_getinfo(LBXimg *img, struct lbx_imginfo *info); #endif