62 lines
1.8 KiB
C
62 lines
1.8 KiB
C
/****************************************************************************
|
|
*
|
|
* iaverage.h
|
|
*
|
|
* Image averaging
|
|
*
|
|
* Copyright (c) 1992, 1993 Microsoft Corporation. All Rights Reserved.
|
|
*
|
|
***************************************************************************/
|
|
|
|
#ifndef _INC_AVERAGE
|
|
#define _INC_AVERAGE
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" { /* Assume C declarations for C++ */
|
|
#endif /* __cplusplus */
|
|
|
|
#ifndef RC_INVOKED
|
|
#pragma pack(1) /* Assume byte packing throughout */
|
|
#endif /* RC_INVOKED */
|
|
|
|
#ifndef RC_INVOKED
|
|
|
|
// -------------------------
|
|
// Structures
|
|
// -------------------------
|
|
|
|
typedef struct tagiAverage {
|
|
BITMAPINFO bi; // Copy of source format
|
|
RGBQUAD pe[256]; // Copy of color table
|
|
LPBYTE lpInverseMap; // rgb15 to palette index
|
|
LPWORD lpRGB; // accumulator
|
|
WORD iCount; // Count of images accumulated
|
|
} IAVERAGE, *PIAVERAGE, FAR *LPIAVERAGE;
|
|
|
|
BOOL iaverageInit (LPIAVERAGE FAR * lppia, LPBITMAPINFO lpbi, HPALETTE hPal);
|
|
BOOL iaverageFini (LPIAVERAGE lpia);
|
|
BOOL iaverageZero (LPIAVERAGE lpia);
|
|
BOOL iaverageSum (LPIAVERAGE lpia, LPVOID lpBits);
|
|
BOOL iaverageDivide (LPIAVERAGE lpia, LPVOID lpBits);
|
|
BOOL CrunchDIB(
|
|
LPIAVERAGE lpia,
|
|
LPBITMAPINFOHEADER lpbiSrc, // BITMAPINFO of source
|
|
LPVOID lpSrc, // input bits to crunch
|
|
LPBITMAPINFOHEADER lpbiDst, // BITMAPINFO of dest
|
|
LPVOID lpDst); // output bits to crunch
|
|
|
|
#endif /* RC_INVOKED */
|
|
|
|
|
|
#ifndef RC_INVOKED
|
|
#pragma pack() /* Revert to default packing */
|
|
#endif /* RC_INVOKED */
|
|
|
|
#ifdef __cplusplus
|
|
} /* End of extern "C" { */
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* INC_AVERAGE */
|
|
|
|
|