1. libgd
  2. Untitled project
  3. gd-libgd

Source

gd-libgd / src / bmp.h

scottmac 1a022a5 




pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 
scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 
scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 



























pierrejoye e20413b 



scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 


scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 
scottmac 1a022a5 
pierrejoye e20413b 





scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 

scottmac 1a022a5 
pierrejoye e20413b 
scottmac 1a022a5 




/* $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