www.pudn.com > XRayImg.rar > 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);
typedef HANDLE HDIB;
typedef 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,LPRECT pClient=NULL );
BOOL WINAPI DrawDIB(HDC, LPRECT, HDIB, LPRECT, CPalette* pPal,
LPRECT pClient=NULL);
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&amt; file);
HDIB WINAPI ReadDIBFile(CFile&amt; file);
HDIB WINAPI MemBmpFileToDIB(HMEMBMPFILE hMemBmpFile);
HMEMBMPFILE WINAPI DIBToMemBmpFile(HDIB hDib);
HDIB WINAPI WindowToDIB(CWnd *pWnd, CRect* pScreenRect );
#endif //!_INC_DIBAPI