Subversion Repositories ipe_artfile_utils

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 daniel-mar 1
#ifndef __inc__bitmap
2
#define __inc__bitmap
3
 
4
#include <stdint.h>
5
 
6
// "BM"
7
#define BI_SIGNATURE 0x4D42
8
 
9
// see https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx
10
#define BYTE uint8_t
11
#define WORD uint16_t
12
#define DWORD uint32_t
13
#define LONG int32_t
14
 
15
// These parts were extracted from WinGDI.h and WinDef.h
16
 
17
#define BI_RGB 0
18
 
19
#pragma pack(push,2)
20
typedef struct tagBITMAPFILEHEADER {
21
        WORD    bfType;
22
        DWORD   bfSize;
23
        WORD    bfReserved1;
24
        WORD    bfReserved2;
25
        DWORD   bfOffBits;
26
} BITMAPFILEHEADER,*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER;
27
#pragma pack(pop)
28
 
29
typedef struct tagBITMAPINFOHEADER{
30
        DWORD   biSize;
31
        LONG    biWidth;
32
        LONG    biHeight;
33
        WORD    biPlanes;
34
        WORD    biBitCount;
35
        DWORD   biCompression;
36
        DWORD   biSizeImage;
37
        LONG    biXPelsPerMeter;
38
        LONG    biYPelsPerMeter;
39
        DWORD   biClrUsed;
40
        DWORD   biClrImportant;
41
} BITMAPINFOHEADER,*LPBITMAPINFOHEADER,*PBITMAPINFOHEADER;
42
 
43
typedef struct tagRGBQUAD {
44
        BYTE    rgbBlue;
45
        BYTE    rgbGreen;
46
        BYTE    rgbRed;
47
        BYTE    rgbReserved;
48
} RGBQUAD,*LPRGBQUAD;
49
 
50
#endif // #ifndef __inc__bitmap
51