summaryrefslogtreecommitdiff
path: root/inc/AlienImage_BMPHeader.hxx
blob: 8d942e32f59c01707fee4d01506d5a477bed310f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
//============================================================================
//==== Titre: AlienImage_BMPHeader.hxx
//============================================================================

#ifndef _AlienImage_BMPHeader_HeaderFile
#define _AlienImage_BMPHeader_HeaderFile

//==== Definition de Type ====================================================
#include <Standard_Type.hxx>

#ifdef WNT
# include <windows.h>
#else
typedef unsigned int   DWORD; // 32-bit signed
typedef unsigned int*  PDWORD;
typedef int            LONG;  // 32-bit unsigned
typedef unsigned short WORD;  // 16-bit unsigned
typedef unsigned char  BYTE;  //  8-bit unsigned
#endif // WNT

typedef struct {
//  WORD    bfType;
  DWORD   bfSize;
  DWORD   bfReserved;
  DWORD   bfOffBits;
} AlienImage_BMPHeader;

const Handle(Standard_Type)& STANDARD_TYPE(AlienImage_BMPHeader);

//============================================================================
#ifndef WNT

typedef struct tagBITMAPINFOHEADER {
   DWORD  biSize; 
   LONG   biWidth; 
   LONG   biHeight; 
   WORD   biPlanes; 
   WORD   biBitCount; 
   DWORD  biCompression; 
   DWORD  biSizeImage; 
   LONG   biXPelsPerMeter; 
   LONG   biYPelsPerMeter; 
   DWORD  biClrUsed; 
   DWORD  biClrImportant; 
} BITMAPINFOHEADER; 

typedef struct tagBITMAPCOREHEADER {
   DWORD   bcSize;
   WORD    bcWidth;
   WORD    bcHeight;
   WORD    bcPlanes;   // 1
   WORD    bcBitCount; // 1,4,8 or 24
} BITMAPCOREHEADER;

// constants for the biCompression field
#define BI_RGB        0
#define BI_RLE8       1
#define BI_RLE4       2
#define BI_BITFIELDS  3

typedef struct tagRGBQUAD {
    BYTE    rgbBlue;
    BYTE    rgbGreen;
    BYTE    rgbRed;
    BYTE    rgbReserved;
} RGBQUAD;

#endif // WNT

#define LOW_VAL_AT_LOW_ADDR (*(char*)&__swaptest)

#endif // _AlienImage_BMPHeader_HeaderFile