diff options
author | Sean Fox <dyntryx@gmail.com> | 2008-06-27 03:42:33 +0000 |
---|---|---|
committer | Sean Fox <dyntryx@gmail.com> | 2008-06-27 03:42:33 +0000 |
commit | ef3d085158e9d56c38b186942abc6cf5dd81f3c3 (patch) | |
tree | 637394ad939330044e2508fbf0ca5bbc6f0b5af6 /libnsbmp.h | |
parent | 701b5113963324efe386807130201dd4a4c72145 (diff) | |
download | libnsbmp-ef3d085158e9d56c38b186942abc6cf5dd81f3c3.tar.gz libnsbmp-ef3d085158e9d56c38b186942abc6cf5dd81f3c3.tar.bz2 |
Correct coloring issue under linux caused by signedness; added bmp_create() function
svn path=/branches/dynis/libnsbmp/; revision=4461
Diffstat (limited to 'libnsbmp.h')
-rw-r--r-- | libnsbmp.h | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -53,8 +53,8 @@ typedef void* (*bmp_bitmap_cb_create)(int width, int height, unsigned int state) typedef void (*bmp_bitmap_cb_destroy)(void *bitmap); typedef void (*bmp_bitmap_cb_set_suspendable)(void *bitmap, void *private_word, void (*invalidate)(void *bitmap, void *private_word)); -typedef char* (*bmp_bitmap_cb_get_buffer)(void *bitmap); -typedef size_t (*bmp_bitmap_cb_get_rowstride)(void *bitmap); +typedef unsigned char* (*bmp_bitmap_cb_get_buffer)(void *bitmap); +typedef size_t (*bmp_bitmap_cb_get_bpp)(void *bitmap); /* The Bitmap callbacks function table */ @@ -63,10 +63,10 @@ typedef struct bmp_bitmap_callback_vt_s { bmp_bitmap_cb_destroy bitmap_destroy; /**< Free a bitmap. */ bmp_bitmap_cb_set_suspendable bitmap_set_suspendable; /**< The bitmap image can be suspended. */ bmp_bitmap_cb_get_buffer bitmap_get_buffer; /**< Return a pointer to the pixel data in a bitmap. */ - bmp_bitmap_cb_get_rowstride bitmap_get_rowstride; /**< Find the width of a pixel row in bytes. */ + bmp_bitmap_cb_get_bpp bitmap_get_bpp; /**< Find the width of a pixel row in bytes. */ } bmp_bitmap_callback_vt; -struct bmp_image { +typedef struct bmp_image { unsigned char *bmp_data; /** pointer to BMP data */ unsigned int buffer_size; /** total number of bytes of BMP data available */ unsigned int width; /** width of BMP (valid after _analyse) */ @@ -81,8 +81,8 @@ struct bmp_image { bool ico; /** image is part of an ICO, mask follows */ unsigned int mask[4]; /** four bitwise mask */ int shift[4]; /** four bitwise shifts */ - void *bitmap; /** decoded image */ -}; + void *bitmap; /** decoded image */ +} bmp_image; struct ico_image { struct bmp_image bmp; @@ -97,6 +97,7 @@ struct ico_collection { struct ico_image *first; }; +void bmp_create(bmp_image *gif); bmp_result bmp_analyse(struct bmp_image *bmp, bmp_bitmap_callback_vt *bitmap_callbacks); bmp_result bmp_decode(struct bmp_image *bmp, bmp_bitmap_callback_vt *bitmap_callbacks); void bmp_finalise(struct bmp_image *bmp, bmp_bitmap_callback_vt *bitmap_callbacks); |