00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef BITMAP_H
00028 #define BITMAP_H
00029
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034
00038 typedef short word_t;
00039 typedef unsigned dword_t;
00040
00041 typedef struct
00042 {
00043 word_t fileType;
00044 dword_t fileSize;
00045 word_t res1;
00046 word_t res2;
00047 dword_t imageOffset;
00048 } BitmapFileHeader ;
00049
00060 typedef struct
00061 {
00062 dword_t infoSize;
00063 dword_t imageWidth;
00064 dword_t imageHeight;
00065 word_t colourPlanes;
00066 word_t bitCount;
00067 dword_t compression;
00068 dword_t imageSize;
00069 dword_t pixelsX;
00070 dword_t pixelsY;
00071 dword_t numColours;
00072 dword_t numImportant;
00073 char* paletteData;
00074 } BitmapInfoHeader;
00075
00076
00081 typedef struct
00082 {
00083 BitmapFileHeader fileHeader;
00084 BitmapInfoHeader infoHeader;
00085 unsigned char* imageData;
00086 } BitmapFileStructure;
00087
00088
00094 typedef struct
00095 {
00096 BitmapFileStructure fileStructure;
00097 char* fileName;
00098 } BitmapFile;
00099
00104 void initBitmapFile(BitmapFile*);
00105 void saveBitmapFile(BitmapFile*);
00106 void loadBitmapFile(BitmapFile*);
00107 void deleteBitmapFile(BitmapFile*);
00108
00109 void setBitmapFileName(BitmapFile*, const char*);
00110
00115 dword_t getBitmapWidth(BitmapFile*);
00116 dword_t getBitmapHeight(BitmapFile*);
00117 word_t getBitmapBpp(BitmapFile*);
00118 dword_t getBitmapImageSize(BitmapFile*);
00119
00120 void setBitmapWidth(BitmapFile*, dword_t);
00121 void setBitmapHeight(BitmapFile*, dword_t);
00122 void setBitmapBpp(BitmapFile*, word_t);
00123
00124 void setBitmapDimensions(BitmapFile*, dword_t w, dword_t h, word_t bpp);
00125
00130 dword_t getBitmapPaletteSize(BitmapFile*);
00131 const char* getBitmapPalette(BitmapFile*);
00132
00133 void setBitmapPaletteSize(BitmapFile*, dword_t);
00134
00135 void setBitmapPalette(BitmapFile*, const char* );
00136
00137
00142 const unsigned char* getBitmapImageData(BitmapFile*);
00143 void setBitmapImageData(BitmapFile*, const unsigned char*);
00144
00145 #ifdef __cplusplus
00146 }
00147 #endif
00148
00149 #endif