xref: /plan9/sys/src/cmd/jpg/bmp.h (revision fbbcd4dc8f19834c76f819eabf0fe7c72f55a5a7)
1fcdc259eSDavid du Colombier 
2fcdc259eSDavid du Colombier #define BMP_RGB      	0
3fcdc259eSDavid du Colombier #define BMP_RLE8     	1
4fcdc259eSDavid du Colombier #define BMP_RLE4     	2
5fcdc259eSDavid du Colombier #define BMP_BITFIELDS	3
6fcdc259eSDavid du Colombier 
7fcdc259eSDavid du Colombier typedef struct {
8fcdc259eSDavid du Colombier 	uchar red;
9fcdc259eSDavid du Colombier 	uchar green;
10fcdc259eSDavid du Colombier 	uchar blue;
11fcdc259eSDavid du Colombier 	uchar alpha;
12fcdc259eSDavid du Colombier } Rgb;
13fcdc259eSDavid du Colombier 
14*fbbcd4dcSDavid du Colombier #define Filehdrsz	14
15*fbbcd4dcSDavid du Colombier 
16fcdc259eSDavid du Colombier typedef struct {
17fcdc259eSDavid du Colombier         short	type;
18*fbbcd4dcSDavid du Colombier         long	size;		/* file size, not structure size */
19fcdc259eSDavid du Colombier         short	reserved1;
20fcdc259eSDavid du Colombier         short	reserved2;
21fcdc259eSDavid du Colombier         long	offbits;
22fcdc259eSDavid du Colombier } Filehdr;
23fcdc259eSDavid du Colombier 
24fcdc259eSDavid du Colombier typedef struct {
25fcdc259eSDavid du Colombier 	long	size;		/* Size of the Bitmap-file */
26fcdc259eSDavid du Colombier 	long	lReserved;	/* Reserved */
27fcdc259eSDavid du Colombier 	long	dataoff;	/* Picture data location */
28fcdc259eSDavid du Colombier 	long	hsize;		/* Header-Size */
29fcdc259eSDavid du Colombier 	long	width;		/* Picture width (pixels) */
30fcdc259eSDavid du Colombier 	long	height;		/* Picture height (pixels) */
31fcdc259eSDavid du Colombier 	short	planes;		/* Planes (must be 1) */
32fcdc259eSDavid du Colombier 	short	bpp;		/* Bits per pixel (1, 4, 8 or 24) */
33fcdc259eSDavid du Colombier 	long	compression;	/* Compression mode */
34fcdc259eSDavid du Colombier 	long	imagesize;	/* Image size (bytes) */
35fcdc259eSDavid du Colombier 	long	hres;		/* Horizontal Resolution (pels/meter) */
36fcdc259eSDavid du Colombier 	long	vres;		/* Vertical Resolution (pels/meter) */
37fcdc259eSDavid du Colombier 	long	colours;	/* Used Colours (Col-Table index) */
38fcdc259eSDavid du Colombier 	long	impcolours;	/* Important colours (Col-Table index) */
39fcdc259eSDavid du Colombier } Infohdr;
40