-LBX_IMG *lbximg_fopen(FILE *f);
-void lbximg_close(LBX_IMG *img);
-unsigned char **lbximg_getframe(LBX_IMG *img, int frame);
+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]);