51 lines
1.7 KiB
51 lines
1.7 KiB
/* |
|
img_bmp.h - bmp format reference |
|
Copyright (C) 2007 Uncle Mike |
|
|
|
This program is free software: you can redistribute it and/or modify |
|
it under the terms of the GNU General Public License as published by |
|
the Free Software Foundation, either version 3 of the License, or |
|
(at your option) any later version. |
|
|
|
This program is distributed in the hope that it will be useful, |
|
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
GNU General Public License for more details. |
|
*/ |
|
#ifndef IMG_BMP_H |
|
#define IMG_BMP_H |
|
/* |
|
======================================================================== |
|
|
|
.BMP image format |
|
|
|
======================================================================== |
|
*/ |
|
|
|
#define BI_SIZE 40 // size of bitmap info header. |
|
#if !defined(BI_RGB) |
|
#define BI_RGB 0 // uncompressed RGB bitmap(defined in wingdi.h) |
|
#endif |
|
|
|
#pragma pack( push, 1 ) |
|
typedef struct |
|
{ |
|
int8_t id[2]; // bmfh.bfType |
|
uint32_t fileSize; // bmfh.bfSize |
|
uint32_t reserved0; // bmfh.bfReserved1 + bmfh.bfReserved2 |
|
uint32_t bitmapDataOffset; // bmfh.bfOffBits |
|
uint32_t bitmapHeaderSize; // bmih.biSize |
|
int32_t width; // bmih.biWidth |
|
int32_t height; // bmih.biHeight |
|
uint16_t planes; // bmih.biPlanes |
|
uint16_t bitsPerPixel; // bmih.biBitCount |
|
uint32_t compression; // bmih.biCompression |
|
uint32_t bitmapDataSize; // bmih.biSizeImage |
|
uint32_t hRes; // bmih.biXPelsPerMeter |
|
uint32_t vRes; // bmih.biYPelsPerMeter |
|
uint32_t colors; // bmih.biClrUsed |
|
uint32_t importantColors; // bmih.biClrImportant |
|
} bmp_t; |
|
#pragma pack( pop ) |
|
#endif // IMG_BMP_H |
|
|
|
|