X-Git-Url: https://git.draconx.ca/gitweb/liblbx.git/blobdiff_plain/0806586ee10e29b60a77c351d355a00087f81f57..91689c5ef8174cc65e1f3ce31f9869778b2af671:/src/image.h diff --git a/src/image.h b/src/image.h index 5b5e4a3..9bd41eb 100644 --- a/src/image.h +++ b/src/image.h @@ -3,9 +3,34 @@ #include -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); +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