| Viewing file:  bmp.h (2.39 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
/* $Id$ */#ifdef __cplusplus
 extern "C" {
 #endif
 
 /*
 gd_bmp.c
 
 Bitmap format support for libgd
 
 * Written 2007, Scott MacVicar
 ---------------------------------------------------------------------------
 
 Todo:
 
 RLE4, RLE8 and Bitfield encoding
 Add full support for Windows v4 and Windows v5 header formats
 
 ----------------------------------------------------------------------------
 */
 
 #ifndef BMP_H
 #define BMP_H    1
 
 #define BMP_PALETTE_3 1
 #define BMP_PALETTE_4 2
 
 #define BMP_WINDOWS_V3 40
 #define BMP_OS2_V1 12
 #define BMP_OS2_V2 64
 #define BMP_WINDOWS_V4 108
 #define BMP_WINDOWS_V5 124
 
 #define BMP_BI_RGB 0
 #define BMP_BI_RLE8 1
 #define BMP_BI_RLE4 2
 #define BMP_BI_BITFIELDS 3
 #define BMP_BI_JPEG 4
 #define BMP_BI_PNG 5
 
 #define BMP_RLE_COMMAND 0
 #define BMP_RLE_ENDOFLINE 0
 #define BMP_RLE_ENDOFBITMAP 1
 #define BMP_RLE_DELTA 2
 
 #define BMP_RLE_TYPE_RAW 0
 #define BMP_RLE_TYPE_RLE 1
 
 /* BMP header. */
 typedef struct {
 /* 16 bit - header identifying the type */
 signed short int magic;
 
 /* 32bit - size of the file */
 int size;
 
 /* 16bit - these two are in the spec but "reserved" */
 signed short int reserved1;
 signed short int reserved2;
 
 /* 32 bit - offset of the bitmap header from data in bytes */
 signed int off;
 
 } bmp_hdr_t;
 
 /* BMP info. */
 typedef struct {
 /* 16bit - Type, ie Windows or OS/2 for the palette info */
 signed short int type;
 /* 32bit - The length of the bitmap information header in bytes. */
 signed int len;
 
 /* 32bit - The width of the bitmap in pixels. */
 signed int width;
 
 /* 32bit - The height of the bitmap in pixels. */
 signed int height;
 
 /* 8 bit - The bitmap data is specified in top-down order. */
 signed char topdown;
 
 /* 16 bit - The number of planes.  This must be set to a value of one. */
 signed short int numplanes;
 
 /* 16 bit - The number of bits per pixel. */
 signed short int depth;
 
 /* 32bit - The type of compression used. */
 signed int enctype;
 
 /* 32bit - The size of the image in bytes. */
 signed int size;
 
 /* 32bit - The horizontal resolution in pixels/metre. */
 signed int hres;
 
 /* 32bit - The vertical resolution in pixels/metre. */
 signed int vres;
 
 /* 32bit - The number of color indices used by the bitmap. */
 signed int numcolors;
 
 /* 32bit - The number of color indices important for displaying the bitmap. */
 signed int mincolors;
 
 } bmp_info_t;
 
 #endif
 
 #ifdef __cplusplus
 }
 #endif
 
 |