123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #ifndef CBMP_CBMP_H
- #define CBMP_CBMP_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- // Pixel structure
- // Not meant to be edited directly
- // Please use the API
- typedef struct pixel_data
- {
- unsigned char red;
- unsigned char green;
- unsigned char blue;
- unsigned char alpha;
- } pixel;
- // BMP structure
- // Not meant to be edited directly
- // Please use the API
- typedef struct BMP_data
- {
- unsigned int file_byte_number;
- unsigned char* file_byte_contents;
- unsigned int pixel_array_start;
- unsigned int width;
- unsigned int height;
- unsigned int depth;
- pixel* pixels;
- } BMP;
- // Public function declarations
- BMP* bopen(char* file_path);
- BMP* b_deep_copy(BMP* to_copy);
- int get_width(BMP* bmp);
- int get_height(BMP* bmp);
- unsigned int get_depth(BMP* bmp);
- void get_pixel_rgb(BMP* bmp, int x, int y, unsigned char* r, unsigned char* g, unsigned char* b);
- void set_pixel_rgb(BMP* bmp, int x, int y, unsigned char r, unsigned char g, unsigned char b);
- void bwrite(BMP* bmp, char* file_name);
- void bclose(BMP* bmp);
- #ifdef __cplusplus
- }
- #endif
- #endif // CBMP_CBMP_H
|