2004-12-16 18:43:13 +00:00
|
|
|
/*
|
|
|
|
* (C) Copyright 2003-2004
|
|
|
|
* Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
|
|
|
|
*
|
2013-07-08 07:37:19 +00:00
|
|
|
* SPDX-License-Identifier: GPL-2.0+
|
2004-12-16 18:43:13 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Neutralize little endians.
|
|
|
|
*/
|
|
|
|
#define SWAP_LONG(data) ((unsigned long) \
|
2013-10-04 15:43:24 +00:00
|
|
|
(((unsigned long)(data) >> 24) | \
|
2004-12-16 18:43:13 +00:00
|
|
|
((unsigned long)(data) << 24) | \
|
|
|
|
(((unsigned long)(data) >> 8) & 0x0000ff00 ) | \
|
|
|
|
(((unsigned long)(data) << 8) & 0x00ff0000 )))
|
|
|
|
#define SWAP_SHORT(data) ((unsigned short) \
|
|
|
|
(((unsigned short)(data) >> 8 ) | \
|
|
|
|
((unsigned short)(data) << 8 )))
|
|
|
|
#define LOAD_LONG(data) SWAP_LONG(data)
|
|
|
|
#define LOAD_SHORT(data) SWAP_SHORT(data)
|
|
|
|
|
2009-02-20 09:19:19 +00:00
|
|
|
#define S1D_WRITE_PALETTE(p,i,r,g,b) \
|
|
|
|
{ \
|
|
|
|
out_8(&((uchar*)(p))[palette_index], (uchar)(i)); \
|
|
|
|
out_8(&((uchar*)(p))[palette_index], (uchar)(r)); \
|
|
|
|
out_8(&((uchar*)(p))[palette_index], (uchar)(g)); \
|
|
|
|
out_8(&((uchar*)(p))[palette_index], (uchar)(b)); \
|
|
|
|
}
|
2004-12-16 18:43:13 +00:00
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
ushort Index;
|
|
|
|
uchar Value;
|
|
|
|
} S1D_REGS;
|
|
|
|
|
|
|
|
typedef struct /**** BMP file info structure ****/
|
|
|
|
{
|
|
|
|
unsigned int biSize; /* Size of info header */
|
|
|
|
int biWidth; /* Width of image */
|
|
|
|
int biHeight; /* Height of image */
|
|
|
|
unsigned short biPlanes; /* Number of color planes */
|
|
|
|
unsigned short biBitCount; /* Number of bits per pixel */
|
|
|
|
unsigned int biCompression; /* Type of compression to use */
|
|
|
|
unsigned int biSizeImage; /* Size of image data */
|
|
|
|
int biXPelsPerMeter; /* X pixels per meter */
|
|
|
|
int biYPelsPerMeter; /* Y pixels per meter */
|
|
|
|
unsigned int biClrUsed; /* Number of colors used */
|
|
|
|
unsigned int biClrImportant; /* Number of important colors */
|
|
|
|
} BITMAPINFOHEADER;
|