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.

56 lines
1.8 KiB

  1. #ifndef _SETDI_H_
  2. #define _SETDI_H_
  3. typedef void (FAR PASCAL CONVERTPROC)(
  4. LPVOID pd, // --> dst.
  5. LONG dd, // offset to start at
  6. LONG nd, // dst_next_scan.
  7. LONG fd, // dst fill bytes
  8. LPVOID ps, // --> source.
  9. LONG ds, // offset to start at
  10. LONG ns, // src_next_scan.
  11. LONG dx, // pixel count.
  12. LONG dy, // scan count.
  13. LPVOID pc); // pixel convert table.
  14. struct SETDI;
  15. typedef CONVERTPROC *PCONVERTPROC;
  16. typedef BOOL (INITPROC)(struct SETDI *psd);
  17. typedef BOOL (FREEPROC)(struct SETDI *psd);
  18. typedef INITPROC *PINITPROC;
  19. typedef FREEPROC *PFREEPROC;
  20. typedef struct SETDI
  21. {
  22. LONG size; // for sanity checks.
  23. HDC hdc;
  24. HPALETTE hpal;
  25. HBITMAP hbm;
  26. UINT DibUsage;
  27. IBITMAP bmDst;
  28. IBITMAP bmSrc;
  29. LPVOID color_convert; // dither/color convert table.
  30. PCONVERTPROC convert; // convert function
  31. PINITPROC init;
  32. PFREEPROC free;
  33. } SETDI, *PSETDI;
  34. BOOL FAR SetBitmapBegin(
  35. PSETDI psd,
  36. HDC hdc,
  37. HBITMAP hbm, // bitmap to set into
  38. LPBITMAPINFOHEADER lpbi, // --> BITMAPINFO of source
  39. UINT DibUsage);
  40. void FAR SetBitmapColorChange(PSETDI psd, HDC hdc, HPALETTE hpal);
  41. void FAR SetBitmapEnd(PSETDI psd);
  42. BOOL FAR SetBitmap(PSETDI psd, int DstX, int DstY, int DstDX, int DstDY, LPVOID lpBits, int SrcX, int SrcY, int SrcDX, int SrcDY);
  43. BOOL GetPhysDibPaletteMap(HDC hdc, LPBITMAPINFOHEADER lpbi, UINT Usage, LPBYTE pb);
  44. BOOL GetDibPaletteMap (HDC hdc, LPBITMAPINFOHEADER lpbi, UINT Usage, LPBYTE pb);
  45. #endif //_SETDI_H_