Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

61 lines
1.8 KiB

/****************************************************************************
*
* iaverage.h
*
* Image averaging
*
* Copyright (c) 1992-1994 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 */