www.pudn.com > dibimage.zip > Dibapi.h


// 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); 
DECLARE_HANDLE(HMEMBMPFILE); 
 
/* DIB constants */ 
#define PALVERSION      0x300 
#define MAXPALCOLORS    256 
 
/* 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 bStretch ); 
BOOL        WINAPI  DrawDIB(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); 
LOGPALETTE* WINAPI CreateLogPalette( HPALETTE  hPal ); 
void        WINAPI  DestroyLogPalette( LOGPALETTE* pLP ); 
HDIB        WINAPI  BitmapToDIB(HBITMAP hBitmap, HPALETTE hPal); 
HBITMAP     WINAPI  DIBToBitmap(HDIB hDib, HPALETTE hPal); 
BOOL        WINAPI  SaveDIBFile(HDIB hDib, CFile& file); 
HDIB        WINAPI  ReadDIBFile(CFile& file); 
HDIB        WINAPI  MemBmpFileToDIB(HMEMBMPFILE hMemBmpFile); 
HMEMBMPFILE WINAPI DIBToMemBmpFile(HDIB hDib);  
HDIB        WINAPI  WindowToDIB(CWnd *pWnd, CRect* pScreenRect ); 
 
#endif //!_INC_DIBAPI