HARDCOPY.MOD 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. (******************************************************************************)
  2. (* HARDCOPY.MOD *)
  3. (* *)
  4. (* Implements the structures used to initialise printers supported by *)
  5. (* MetaWINDOW. The structures ar initialised using TopSpeed's facility for *)
  6. (* initialising aggregate constants. *)
  7. (* *)
  8. (* PSW 06/28/91 08:30am *)
  9. (******************************************************************************)
  10. IMPLEMENTATION MODULE HardCopy;
  11. (*
  12. * Graphix
  13. * Release 3.7
  14. * (c) Copyright 1986-1992 PMI
  15. * Green Bay, Wisconsin
  16. * (414) 468-6040
  17. * All rights reserved
  18. *
  19. *)
  20. FROM GrConst IMPORT HCInfoRec, HC_ROT, HC_XL, HC_ASC;
  21. CONST
  22. (*** This is about as generic as is possible. Base printer is an 8 pin ***)
  23. (*** Epson model MX-80F/T. Mode is 60 dpi (h) by 72 dpi (v). ***)
  24. _EPLOInfo = HCInfoRec (
  25. 8, (* pins *)
  26. 7, (* init codes *)
  27. init(ESC,040H,ESC,033H,018H,CR,LF,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  28. 2, (* quit, reset codes *)
  29. reset(ESC,040H,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  30. 2, (* line header *)
  31. header(ESC,04BH,0,0,0,0,0,0),
  32. 0, (* postamble *)
  33. pstam(0,0,0,0,0,0,0,0),
  34. 2, (* line trailer *)
  35. trailer(CR,LF,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  36. HC_ROT, (* Options *)
  37. 0, (* printer port *)
  38. hcSIG('H','C'), (* signature *)
  39. 00FH, (* max index in translate table *)
  40. xlaTable(0,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH)
  41. ); (* EPLOInfo *)
  42. (*** This is a 8 pin Epson Mode is 120 dpi (h) by 72 dpi (v). ***)
  43. _EPHIInfo = HCInfoRec
  44. (
  45. 8, (* pins *)
  46. 7, (* init codes *)
  47. init(ESC,040H,ESC,033H,018H,CR,LF,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  48. 2, (* quit, reset codes *)
  49. reset(ESC,040H,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  50. 2, (* line header *)
  51. header(ESC,04CH,0,0,0,0,0,0),
  52. 0, (* postamble *)
  53. pstam(0,0,0,0,0,0,0,0),
  54. 2, (* line trailer *)
  55. trailer(CR,LF,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  56. 0, (* Options *)
  57. 0, (* printer port *)
  58. hcSIG('H','C'), (* signature *)
  59. 00FH, (* max index in translate table *)
  60. xlaTable(0,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH)
  61. ); (* EPHIInfo *)
  62. (*** Hp LaserJet configuration. 75 dpi (h) by 75 dpi (v), rotated. ***)
  63. _HPLOInfo = HCInfoRec
  64. (
  65. 1, (* pins *)
  66. 11, (* init codes *)
  67. init(ESC,02AH,074H,037H,035H,052H,ESC,02AH,072H,030H,041H,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  68. 6, (* quit, reset codes *)
  69. reset(ESC,02AH,052H,042H,CR,FF,0,0,0,0,0,0,0,0,0,0),
  70. 3, (* line header *)
  71. header(ESC,02AH,062H,0,0,0,0,0),
  72. 1, (* postamble *)
  73. pstam(057H,0,0,0,0,0,0,0),
  74. 0, (* line trailer *)
  75. trailer(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  76. HC_ASC+HC_ROT, (* Options. MUST send ASCII length for HP Laserjet *)
  77. 080H, (* printer port *)
  78. hcSIG('H','C'), (* signature *)
  79. 00FH, (* max index in translate table *)
  80. xlaTable(0,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH)
  81. ); (* HPLOInfo *)
  82. (*** Hp LaserJet configuration. 150 dpi (h) by 150 dpi (v), rotated. ***)
  83. _HPMEDInfo = HCInfoRec
  84. (
  85. 1, (* pins *)
  86. 12, (* init codes *)
  87. init(ESC,02AH,074H,031H,035H,030H,052H,ESC,02AH,072H,030H,041H,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  88. 6, (* quit, reset codes *)
  89. reset(ESC,02AH,052H,042H,CR,FF,0,0,0,0,0,0,0,0,0,0),
  90. 3, (* line header *)
  91. header(ESC,02AH,062H,0,0,0,0,0),
  92. 1, (* postamble *)
  93. pstam(057H,0,0,0,0,0,0,0),
  94. 0, (* line trailer *)
  95. trailer(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  96. HC_ASC, (* Options. MUST send ASCII length for HP Laserjet *)
  97. 080H, (* printer port *)
  98. hcSIG('H','C'), (* signature *)
  99. 00FH, (* max index in translate table *)
  100. xlaTable(0,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH)
  101. ); (* HPMEDInfo *)
  102. (*** Hp LaserJet configuration. 300 dpi (h) by 300 dpi (v), rotated. ***)
  103. _HPHIInfo = HCInfoRec
  104. (
  105. 1, (* pins *)
  106. 12, (* init codes *)
  107. init(ESC,02AH,074H,033H,030H,030H,052H,ESC,02AH,072H,030H,041H,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  108. 6, (* quit, reset codes *)
  109. reset(ESC,02AH,052H,042H,CR,FF,0,0,0,0,0,0,0,0,0,0),
  110. 3, (* line header *)
  111. header(ESC,02AH,062H,0,0,0,0,0),
  112. 1, (* postamble *)
  113. pstam(057H,0,0,0,0,0,0,0),
  114. 0, (* line trailer *)
  115. trailer(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  116. HC_ASC, (* Options. MUST send ASCII length for HP Laserjet *)
  117. 080H, (* printer port *)
  118. hcSIG('H','C'), (* signature *)
  119. 00FH, (* max index in translate table *)
  120. xlaTable(0,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH)
  121. ); (* HPHIInfo *)
  122. (*** Hard Copy Info Structure with an invalid signature to disable ***)
  123. (*** HardCopy (and PrintScreen). ***)
  124. _NULInfo = HCInfoRec
  125. (
  126. 0, (* pins *)
  127. 0, (* init codes *)
  128. init(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  129. 0, (* quit, reset codes *)
  130. reset(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  131. 0, (* line header *)
  132. header(0,0,0,0,0,0,0,0),
  133. 0, (* postamble *)
  134. pstam(0,0,0,0,0,0,0,0),
  135. 0, (* line trailer *)
  136. trailer(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
  137. 0, (* Options *)
  138. 0, (* printer port *)
  139. hcSIG(0,0), (* signature *)
  140. 0, (* max index in translate table *)
  141. xlaTable(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
  142. ); (* NULInfo *)
  143. BEGIN
  144. EPLOInfo := _EPLOInfo;
  145. EPHIInfo := _EPHIInfo;
  146. HPLOInfo := _HPLOInfo;
  147. HPMEDInfo := _HPMEDInfo;
  148. HPHIInfo := _HPHIInfo;
  149. NULInfo := _NULInfo;
  150. END HardCopy.