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.

89 lines
1.7 KiB

  1. // Copyright (c) Microsoft Corp. 1994-95
  2. #ifndef _RAMBO_
  3. #define _RAMBO_
  4. #include <windows.h>
  5. #ifndef WIN16 // remove WIN16 irritation
  6. #pragma pack (push)
  7. #pragma pack(1)
  8. #endif
  9. // common header
  10. typedef struct
  11. {
  12. WORD cbRest;
  13. DWORD dwID;
  14. WORD wClass;
  15. }
  16. RESHDR, FAR *LPRESHDR;
  17. // resource classes
  18. #define ID_GLYPH 1
  19. #define ID_BRUSH 2
  20. #define ID_BITMAP 3
  21. #define ID_RPL 4
  22. #define ID_CONTROL 8
  23. #define ID_BAND 10
  24. // control IDs
  25. #define ID_BEGJOB 0x49505741 // "AWPI"
  26. #define ID_ENDPAGE 0x45474150 // "PAGE"
  27. #define ID_ENDJOB 0x4a444e45 // "ENDJ"
  28. // job header
  29. typedef struct BEGJOB
  30. {
  31. // common header
  32. WORD cbRest; // sizeof(BEGJOB) - sizeof(WORD)
  33. DWORD dwID; // ID_BEGJOB
  34. WORD wClass; // ID_CONTROL
  35. // image attributes
  36. DWORD xBand; // page width [pixels]
  37. DWORD yBand; // band height [pixels]
  38. WORD xRes; // horizontal resolution [dpi]
  39. WORD yRes; // vertical resolution [dpi]
  40. // memory attributes
  41. DWORD cbCache; // cache size [KB]
  42. WORD cResDir; // directory size
  43. BYTE bBitmap; // bitmap compression
  44. BYTE bGlyph; // glyph compression
  45. BYTE bBrush; // stock brush set
  46. BYTE bPad[3]; // reserved, must be 0
  47. }
  48. BEGJOB, FAR *LPBEGJOB;
  49. // job tailer
  50. typedef struct ENDJOB
  51. {
  52. // common header
  53. WORD cbRest; // sizeof(ENDJOB) - sizeof(WORD)
  54. DWORD dwID; // ID_ENDJOB
  55. WORD wClass; // ID_CONTROL
  56. // job attributes
  57. WORD cPage; // number of pages
  58. WORD yMax; // maximum height
  59. }
  60. ENDJOB, FAR *LPENDJOB;
  61. // bitmap header
  62. typedef struct
  63. {
  64. BYTE bComp;
  65. BYTE bLeftPad;
  66. WORD wHeight;
  67. WORD wWidth;
  68. }
  69. BMPHDR, FAR* LPBMPHDR;
  70. #ifndef WIN16 // remove WIN16 irritation
  71. #pragma pack(pop)
  72. #endif
  73. #endif // _RAMBO_