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

  1. /****************************************************************************
  2. *
  3. * iaverage.h
  4. *
  5. * Image averaging
  6. *
  7. * Copyright (c) 1992-1994 Microsoft Corporation. All Rights Reserved.
  8. *
  9. ***************************************************************************/
  10. #ifndef _INC_AVERAGE
  11. #define _INC_AVERAGE
  12. #ifdef __cplusplus
  13. extern "C" { /* Assume C declarations for C++ */
  14. #endif /* __cplusplus */
  15. #ifndef RC_INVOKED
  16. #pragma pack(1) /* Assume byte packing throughout */
  17. #endif /* RC_INVOKED */
  18. #ifndef RC_INVOKED
  19. // -------------------------
  20. // Structures
  21. // -------------------------
  22. typedef struct tagiAverage {
  23. BITMAPINFO bi; // Copy of source format
  24. RGBQUAD pe[256]; // Copy of color table
  25. LPBYTE lpInverseMap; // rgb15 to palette index
  26. LPWORD lpRGB; // accumulator
  27. WORD iCount; // Count of images accumulated
  28. } IAVERAGE, *PIAVERAGE, FAR *LPIAVERAGE;
  29. BOOL iaverageInit (LPIAVERAGE FAR * lppia, LPBITMAPINFO lpbi, HPALETTE hPal);
  30. BOOL iaverageFini (LPIAVERAGE lpia);
  31. BOOL iaverageZero (LPIAVERAGE lpia);
  32. BOOL iaverageSum (LPIAVERAGE lpia, LPVOID lpBits);
  33. BOOL iaverageDivide (LPIAVERAGE lpia, LPVOID lpBits);
  34. BOOL CrunchDIB(
  35. LPIAVERAGE lpia,
  36. LPBITMAPINFOHEADER lpbiSrc, // BITMAPINFO of source
  37. LPVOID lpSrc, // input bits to crunch
  38. LPBITMAPINFOHEADER lpbiDst, // BITMAPINFO of dest
  39. LPVOID lpDst); // output bits to crunch
  40. #endif /* RC_INVOKED */
  41. #ifndef RC_INVOKED
  42. #pragma pack() /* Revert to default packing */
  43. #endif /* RC_INVOKED */
  44. #ifdef __cplusplus
  45. } /* End of extern "C" { */
  46. #endif /* __cplusplus */
  47. #endif /* INC_AVERAGE */