80 lines
1.4 KiB
C
80 lines
1.4 KiB
C
|
#ifndef _duck_bmp_h
|
||
|
#define _duck_bmp_h
|
||
|
|
||
|
#include "dkpltfrm.h"
|
||
|
|
||
|
#if defined(__cplusplus)
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
typedef struct tDKBITMAP_old
|
||
|
{
|
||
|
unsigned long ulFormatTag;
|
||
|
unsigned long usWidth; /* width */
|
||
|
unsigned long usHeight; /* height */
|
||
|
unsigned long bmWidthBytes;
|
||
|
unsigned short bmPlanes;
|
||
|
unsigned short usDepth;
|
||
|
unsigned int ulHandler;
|
||
|
|
||
|
} DKBITMAP_old; /* Depricated please ! */
|
||
|
|
||
|
|
||
|
/* This is the REAL BITMAP */
|
||
|
typedef struct tDKBITMAP {
|
||
|
unsigned long bmType;
|
||
|
unsigned long bmWidth;
|
||
|
unsigned long bmHeight;
|
||
|
unsigned long bmWidthBytes;
|
||
|
unsigned short bmPlanes;
|
||
|
unsigned short bmBitsPixel;
|
||
|
void* bmBits;
|
||
|
} DKBITMAP;
|
||
|
|
||
|
|
||
|
|
||
|
#if !defined(DWORD)
|
||
|
#define DWORD unsigned int
|
||
|
#endif
|
||
|
|
||
|
#if !defined(WORD)
|
||
|
#define WORD unsigned short
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
typedef struct DK_BITMAPINFOHEADER_t
|
||
|
{
|
||
|
DWORD biSize;
|
||
|
DWORD biWidth;
|
||
|
DWORD biHeight;
|
||
|
WORD biPlanes;
|
||
|
WORD biBitCount;
|
||
|
DWORD biCompression;
|
||
|
DWORD biSizeImage;
|
||
|
DWORD biXPelsPerMeter;
|
||
|
DWORD biYPelsPerMeter;
|
||
|
DWORD biClrUsed;
|
||
|
DWORD biClrImportant;
|
||
|
|
||
|
DWORD fccHandler; /* hopefully this never matters */
|
||
|
DWORD dxFlavor;
|
||
|
} DK_BITMAPINFOHEADER;
|
||
|
|
||
|
|
||
|
static int DK_BITMAPINFOHEADER_REFLECT[ ] = { 4,4,4,2,2, 4,4,4,4,4,4,4,4 };
|
||
|
|
||
|
|
||
|
|
||
|
#undef WORD
|
||
|
#undef DWORD
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#if defined(__cplusplus)
|
||
|
}
|
||
|
#endif
|
||
|
#endif
|