#include <stdio.h>
-typedef struct lbx_image LBXimg;
struct lbx_file_ops;
-struct lbx_colour {
- unsigned char red;
- unsigned char green;
- unsigned char blue;
- unsigned char active;
+struct lbx_image {
+ unsigned short width, height;
+ unsigned char frames, chunk, leadin;
};
-struct lbx_imginfo {
- unsigned short width, height;
- unsigned char nframes, loopstart, chunk;
- int palettesz, looping;
+struct lbx_colour {
+ unsigned red:6, green:6, blue:6, active:1;
};
-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);
+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(LBXimg *img, int frame);
-unsigned char **lbx_img_getmask(LBXimg *img);
+int lbx_img_seek(struct lbx_image *img, unsigned frame);
+long lbx_img_read_row_header(struct lbx_image *img, unsigned *x, unsigned *y);
+long lbx_img_read_row_data(struct lbx_image *img, void *buf);
+int lbx_img_getpalette(struct lbx_image *img, struct lbx_colour *palette);
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]);
-
-void lbx_img_getinfo(LBXimg *img, struct lbx_imginfo *info);
+ struct lbx_colour *palette);
#endif