Leaked source code of windows server 2003
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.

50 lines
1.8 KiB

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