Files @ r5135:84eef833ae0c
Branch filter:

Location: cpp/openttd-patchpack/source/bmp.h

miham
(svn r7216) WebTranslator2 update to 2006-11-19 22:30:04
american - 5 fixed by WhiteRabbit (5)
brazilian_portuguese - 10 fixed by tucalipe (10)
catalan - 9 fixed by arnaullv (9)
czech - 5 fixed by Hadez (5)
danish - 3 fixed, 2 changed by ThomasA (5)
dutch - 3 fixed by habell (3)
finnish - 7 fixed, 3 changed by kerba (10)
french - 5 fixed by glx (2), belugas (3)
galician - 7 fixed, 1 changed by Condex (8)
german - 4 fixed by Neonox (4)
italian - 3 fixed by sidew (3)
polish - 6 fixed, 20 changed by meush (26)
portuguese - 5 fixed by izhirahider (5)
romanian - 9 fixed, 2 changed by kneekoo (11)
spanish - 5 fixed, 1 changed by eusebio (6)
turkish - 2 fixed by jnmbk (2)
ukrainian - 6 fixed by znikoz (6)
/* $Id$ */

#ifndef BMP_H
#define BMP_H

typedef struct {
	uint32 offset;       ///< offset of bitmap data from .bmp file begining
	uint32 width;        ///< bitmap width
	uint32 height;       ///< bitmap height
	bool os2_bmp;        ///< true if OS/2 1.x or windows 2.x bitmap
	uint16 bpp;          ///< bits per pixel
	uint32 compression;  ///< compression method (0 = none, 1 = 8-bit RLE, 2 = 4-bit RLE)
	uint32 palette_size; ///< number of colors in palette
} BmpInfo;

typedef struct {
	Colour *palette;
	byte   *bitmap;
} BmpData;

#define BMP_BUFFER_SIZE 1024

typedef struct {
	byte data[BMP_BUFFER_SIZE];
	int pos;
	int read;
	FILE *file;
	uint real_pos;
} BmpBuffer;

void BmpInitializeBuffer(BmpBuffer *buffer, FILE *file);
bool BmpReadHeader(BmpBuffer *buffer, BmpInfo *info, BmpData *data);
bool BmpReadBitmap(BmpBuffer *buffer, BmpInfo *info, BmpData *data);
void BmpDestroyData(BmpData *data);

#endif /* BMP_H */