X-Git-Url: https://git.draconx.ca/gitweb/liblbx.git/blobdiff_plain/84ff721b88b3c2bc9fa50f97e85cdba5e5d74e8d..5ca921b28d5ca2964e19dad8f9b8614b2aebca4d:/src/image.h diff --git a/src/image.h b/src/image.h index e9de2bd..2679bab 100644 --- a/src/image.h +++ b/src/image.h @@ -3,10 +3,39 @@ #include -typedef struct lbx_image LBXIMG; +struct lbx_file_ops; -LBXIMG *lbximg_fopen(FILE *f); -void lbximg_close(LBXIMG *img); -unsigned char **lbximg_getframe(LBXIMG *img, int frame); +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 short width, height; + unsigned char nframes, loopstart, chunk; + int palettesz, looping; +}; + +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 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 lbx_img_getinfo(struct lbx_image *img, struct lbx_imginfo *info); #endif