home *** CD-ROM | disk | FTP | other *** search
/ Pegasus Graphics Universe / Pegasus_Graphics_Universe.iso / p11 / utils / hpraster.txt < prev    next >
Text File  |  1989-02-12  |  4KB  |  175 lines

  1. \MOVE 'Y' TO #333
  2. \MOVE 1 TO #332 ;FRAME # TO BE SHOWN
  3. \MOVE 0 TO #334\MOVE 0 TO #335
  4. \MOVE 0 TO #336 ;TELLS IF PTR HAS BEEN INITIALIZED...
  5. \X START_OVER
  6. \CALL SETUP
  7. \X PAST_SETUP\ON ERROR
  8. \MOVE 1 TO T
  9. \IF #6<>'      '\JUMP SHOWIT\ENDIF
  10. \LOC 0,40 \HEI 199\WID 38\OVERL 0
  11. DISPLAY THE SCREEN
  12. OR PRESS THE SPACE BAR TO DRAW
  13. PRESS RETURN WHEN READY TO PRINT.
  14. \MOVE 0 TO B
  15. \X LOOP\IF B=0\JUMP LOOP\ENDIF
  16. \IF B=14624\CALL DRAWIT\JUMP CONT1\ENDIF
  17. \WAIT NOW 31000
  18. \JUMP CONT1
  19. \X SHOWIT
  20. \SHOW 0,0,#332
  21. \X CONT1
  22. \PRINT [27],'*r1A',  ;start raster graphics mode
  23. \EXECUTE >HPRASTER.EXE
  24. \PRINT [27],'*rB', ;TURN OFF RASTER
  25. \IF B=20224\JUMP PAGE_EJECT\ENDIF
  26. \LOC 100,100\HEI 30\WID 19\OVE 0
  27. Get another picture
  28. (Y/N)?
  29. \CURSOR 31,14
  30. \MOVE "Y" TO #333
  31. \QUESTION #333,1
  32. \IF #333='N'\JUMP PAGE_EJECT\ENDIF
  33. \LOC 100,100\HEI 30\WID 19\OVE 0
  34. Eject the current
  35. page(Y/N)?
  36. \CURSOR 31,14\MOVE "N" TO #333
  37. \QUESTION #333,1
  38. \IF #333='N'\JUMP START_OVER\ENDIF
  39. \CALL PAGE_OUT
  40. \JUMP START_OVER
  41. \X PAGE_EJECT
  42. \CALL PAGE_OUT
  43. \CLOSE LPT1:PRN
  44. \END
  45. \X SETUP
  46. \IF #336=1\JUMP ANOTHER_PICTURE\ENDIF
  47. \NAME #1010=RESOLUTION
  48. \MOVE 75 TO RESOLUTION
  49. \NAME #1020=FRAME_NMBR
  50. \MOVE 1 TO FRAME_NMBR
  51. \LOC 0,8\HEI 190\OVE 0\WID 40
  52. To use this program you'll need a laser
  53. printer with HPLASERJET emulation.
  54. \"
  55. This program prints a full screen in
  56. any of 3 resolutions--75,150, and 300
  57. dots per inch (D.P.I.).
  58. Press End (the 1 key on the numeric
  59. keypad) and it will stop execution after
  60. the next line,in the middle of the page.
  61. It calls HPRASTER.EXE to print the
  62. screen image, but most parameters are
  63. set directly from here.
  64. Press 1, 2, or 3 for resolutions of
  65.    75, 150, and 300, respectively.
  66. \X ANOTHER_RESOLUTION
  67. \ROUNDS 800 SPEED 33
  68. \MARQUE 45,139,128,151
  69. \IF B=561 OR B=20224\MOVE 75 TO RESOLUTION\ELSE
  70. \IF B=818 OR B=20480\MOVE 150 TO RESOLUTION\ELSE
  71. \IF B=1075 OR B=20736\MOVE 300 TO RESOLUTION\ELSE
  72. \BEEP\JUMP ANOTHER_RESOLUTION\ENDIF
  73. \IF #336=1\JUMP SKIP1\ENDIF
  74. \CLEAR SCREEN
  75. \LOC 100,100\HEI 30\WID 19\OVE 0
  76. How many copies
  77. do you want?
  78. \CURSOR 31,14\QUESTION #331,0
  79. \IF #331<=0\MOVE 1 TO #331\ELSE
  80. \IF #331>99\MOVE 99 TO #331\ENDIF
  81. \X SKIP1
  82. \X ANOTHER_PICTURE
  83. \BLANK 0,0,319,87
  84. \X READ_AGAIN
  85. \LOC 0,88\HEI 120\OVE 0\WID 40
  86. Enter the name of the file you want
  87. to print.
  88. \BLANK 0,110,320,199
  89. \LENGTH #6
  90. \IF A=2\ELIMINATE #6\ENDIF
  91. \CURSOR 13,14\QUESTION #6,8
  92. \IF #6='        '\JUMP SKIP2\ENDIF
  93. \BUILD #6=#6,'.PIC'
  94. \MOVE 0 TO #66
  95. \ON ERROR CALL BAD_READ
  96. \MOVE 0 TO A
  97. \READ (#6)
  98. \ON ERROR
  99. \IF A>0 \JUMP READ_AGAIN\ENDIF
  100. \FRAME ?\MOVE A TO #345
  101. \JUMP FILE_READ
  102. \X BAD_READ
  103. \LOC 90,56\HEI 20\OVE 0\WID 30
  104. File not found.
  105. \RETURN
  106. \X FILE_READ
  107. \CLEAR SCREEN
  108. \X ANOTHER_FRAME
  109. \IF #345=1
  110. \SHOW 0,0,#332
  111. \ELSE
  112. \BLANK 100,100,270,128
  113. \LOC 100,100\HEI 30\WID 19\OVE 0
  114. Which frame will
  115. you use?
  116. \CURSOR 30,14\QUESTION #332
  117. \IF #332>=1\JUMP FRAME_SPEC\ENDIF
  118. \MOVE FRAME_NMBR TO #332
  119. \ADD 1 TO FRAME_NMBR
  120. \X FRAME_SPEC
  121. \IF #332>#345\MOVE #345 TO #332\ENDIF
  122. \SHOW 0,0,#332
  123. \BLANK 100,100,270,128
  124. \LOC 100,100\HEI 30\WID 19\OVE 0
  125. Is this the right
  126. frame (Y/N/X)?
  127. \MOVE 'Y' TO #333\CURSOR 30,14\QUESTION #333,1
  128. \IF #345=1\IF #333<>'Y'\JUMP ANOTHER_PICTURE\ENDIF
  129. \IF #333<>'Y' AND #333<>'X'\JUMP ANOTHER_FRAME\ENDIF
  130. \IF #333='X'\JUMP ANOTHER_PICTURE\ENDIF
  131. \X SKIP2
  132. \IF #336=0
  133. \CLEAR SCREEN
  134. \LOC 0,0\WID 40\HEI 22\OVE 0
  135. Move the cursor to the approximate spot
  136. for the upper left corner of the frame.
  137. \LINE 78,30,224,196,2,B
  138. \LINE 80,32,222,194,2,B
  139. \ELSE \RESTORE SCREEN\ENDIF
  140. \MOUSE W=80,32,222,194 L=#334,#335 \+
  141. \MOVE D TO #334\MOVE E TO #335\+
  142. \IF RESOLUTION=150
  143. \LINE D,E,D+33,E+20,1,B
  144. \ELSE
  145. \IF RESOLUTION=75
  146. \LINE D,E,D+68,E+42,1,B
  147. \ELSE
  148. \LINE D,E,D+16,E+10,1,B
  149. \ENDIF
  150. \SAVE SCREEN\CLEAR SCREEN
  151. \IF #336=0
  152. \OPEN LPT1:PRN
  153. \PRINT [27],'&l0O', ;one is landscape mode, 0 is portrait (default)
  154. \PRINT [27],'&l',#331,'X'  ;SET # OF COPIES
  155. \PRINT [27],'*t',RESOLUTION,'R',
  156. \MOVE 1 TO #336
  157. \ENDIF
  158. \PRINT [27],'&a',(#335-32)*44,'V', ;Set vert. location\+
  159. \PRINT [27],'&a',(#334-80)*44,'H', ;SET HORI LOCATION \+
  160. \RETURN
  161. \X PAGE_OUT
  162. \PRINT [27],'*rB',  ;TURN OFF RASTER
  163. \PRINT [12],
  164. \MOVE 0 TO #336
  165. \RETURN
  166. \X DRAWIT
  167. \CLEAR SCREEN
  168. \READ HPRASTER.PIC
  169. ENTER A NUMBER FOR A COLOR (1234)
  170. \QUEST Q\IF Q<1\MOVE 1 TO Q\ELSE\IF Q>4\MOVE 4 TO Q \ENDIF
  171. \CLEAR SCREEN
  172. \MOUSE F=3,Q X=N W=0,0,319,200 R=-1
  173. \RETURN
  174. \END OF FILE
  175.