// dibapi.h // // This is a part of the Microsoft Foundation Classes C++ library. // Copyright (C) 1992-1997 Microsoft Corporation // All rights reserved. // // This source code is only intended as a supplement to the // Microsoft Foundation Classes Reference and related // electronic documentation provided with the library. // See these sources for detailed information regarding the // Microsoft Foundation Classes product. #ifndef _INC_DIBAPI #define _INC_DIBAPI /* Handle to a DIB */ DECLARE_HANDLE(HDIB); /* DIB constants */ #define PALVERSION 0x300 /* DIB Macros*/ #define IS_WIN30_DIB(lpbi) ((*(LPDWORD)(lpbi)) == sizeof(BITMAPINFOHEADER)) #define RECTWIDTH(lpRect) ((lpRect)->right - (lpRect)->left) #define RECTHEIGHT(lpRect) ((lpRect)->bottom - (lpRect)->top) // WIDTHBYTES performs DWORD-aligning of DIB scanlines. The "bits" // parameter is the bit count for the scanline (biWidth * biBitCount), // and this macro returns the number of DWORD-aligned bytes needed // to hold those bits. #define WIDTHBYTES(bits) (((bits) + 31) / 32 * 4) /* Function prototypes */ BOOL WINAPI PaintDIB (HDC, LPRECT, HDIB, LPRECT, CPalette* pPal); BOOL WINAPI CreateDIBPalette(HDIB hDIB, CPalette* cPal); LPSTR WINAPI FindDIBBits (LPSTR lpbi); DWORD WINAPI DIBWidth (LPSTR lpDIB); DWORD WINAPI DIBHeight (LPSTR lpDIB); WORD WINAPI PaletteSize (LPSTR lpbi); WORD WINAPI DIBNumColors (LPSTR lpbi); HGLOBAL WINAPI CopyHandle (HGLOBAL h); BOOL WINAPI SaveDIB (HDIB hDib, CFile& file); HDIB WINAPI ReadDIBFile(CFile& file); #endif //!_INC_DIBAPI