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.

56 lines
2.0 KiB

  1. #define BM_NULL 0
  2. #define BM_TYPE 0x0F // type mask
  3. #define BM_8BIT 0x01 // all SVGA, and other 256 color
  4. #define BM_16555 0x02 // some HiDAC cards
  5. #define BM_24BGR 0x03 // just like a DIB
  6. #define BM_32BGR 0x04 // 32 bit BGR
  7. #define BM_VGA 0x05 // VGA style bitmap.
  8. #define BM_16565 0x06 // most HiDAC cards
  9. #define BM_24RGB 0x07 // 24 bit RGB
  10. #define BM_32RGB 0x08 // 32 bit RGB
  11. #define BM_1BIT 0x09 // mono bitmap
  12. #define BM_4BIT 0x0A // 4 bit packed pixel.
  13. #define BM_CANLOCK 0x10 // can lock these bitmaps
  14. #define BM_MAPFLAT 0x20 // can make bitmaps flat
  15. #define BM_HUGE 0x40 // with FillBytes != 0 (for > 64k)
  16. #define BM_BOTTOMTOTOP 0x80 // like a DIB
  17. //
  18. // this is a physical BITMAP in memory, this is just like a BITMAP
  19. // structure, but with extra fields staring at bmWidthPlanes
  20. //
  21. typedef struct {
  22. short bmType;
  23. short bmWidth;
  24. short bmHeight;
  25. short bmWidthBytes;
  26. BYTE bmPlanes;
  27. BYTE bmBitsPixel;
  28. LPVOID bmBits;
  29. long bmWidthPlanes;
  30. long bmlpPDevice;
  31. short bmSegmentIndex;
  32. short bmScanSegment;
  33. short bmFillBytes;
  34. short reserved1;
  35. short reserved2;
  36. } IBITMAP;
  37. #define bmBitmapInfo bmWidthPlanes
  38. #define bmOffset bmlpPDevice
  39. #define bmNextScan reserved1
  40. BOOL FAR CanLockBitmaps(void);
  41. UINT FAR GetBitmapType(void);
  42. LPVOID FAR LockBitmap(HBITMAP hbm);
  43. LPVOID FAR GetBitmap(HBITMAP hbm, LPVOID p, int cb);
  44. LPVOID FAR GetBitmapDIB(LPBITMAPINFOHEADER lpbi, LPVOID lpBits, LPVOID p, int cb);
  45. LPVOID FAR GetDIBBitmap(HBITMAP hbm, LPBITMAPINFOHEADER lpbi);
  46. LPVOID FAR GetPDevice(HDC hdc);
  47. void FAR TestSurfaceType(HDC hdc, int x, int y);
  48. UINT FAR GetSurfaceType(LPVOID lpBits);
  49. BOOL FAR MakeBitmapFlat(HBITMAP hbm);
  50. //void FAR BitmapXY(IBITMAP FAR *pbm, int x, int y);