#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