2 /// \file bmp-internal.h
7 Copyright (C) 2008-2009, Nicolas VIVIEN
9 http://www.fortunecity.com/skyscraper/windows/364/bmpffrmt.html
11 This program is free software; you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation; either version 2 of the License, or
14 (at your option) any later version.
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20 See the GNU General Public License in the COPYING file at the
21 root directory of this project for more details.
25 #ifndef __BARRY_BMP_INTERNAL_H__
26 #define __BARRY_BMP_INTERNAL_H__
30 #include <sys/types.h>
32 typedef struct BXLOCAL
{
33 char bfType
[2]; // Contains always 'BM'
34 uint32_t bfSize
; // Size of file
35 uint16_t bfReserved1
; // 0x00
36 uint16_t bfReserved2
; // 0x00
37 uint32_t bfOffBits
; // Offset to find the raw data
38 } __attribute__ ((packed
)) bmp_file_header_t
;
40 typedef struct BXLOCAL
{
41 uint32_t biSize
; // Size of struct itself
42 uint32_t biWidth
; // Width of image
43 uint32_t biHeight
; // Height of image
45 uint16_t biBitCount
; //
46 uint32_t biCompression
; //
47 uint32_t biSizeImage
; // Size of raw data
48 uint32_t biXPelsPerMeter
; //
49 uint32_t biYPelsPerMeter
; //
50 uint32_t biClrUsed
; //
51 uint32_t biClrImportant
; //
52 } __attribute__ ((packed
)) bmp_info_header_t
;