home *** CD-ROM | disk | FTP | other *** search
- subroutine plots (idum, jdum, kdum)
- integer idum, jdum, kdum
- C
- C Plotter initialisation routine - must be called before any other plotter
- C calls are made
- C
- C Where:
- C idum, jdum, kdum = dummy variables for compatibility
- C
-
- common /cqpbnf/ xold, yold, fac, ires
- save /cqpbnf/
- real xold, yold, fac
- integer ires
-
- logical first
- save first
- data first /.true./
-
- C
- C Initialise plot storage - if we haven't already
- C
- if (first) then
- first = .false.
- call plbegn
- C
- C Scale, rotate and translate PostScript output
- C Units of pixels (300/inch for most laser printers)
- C Origin in lower left corner, landscape mode
- C
- call plsout ("72 300 div dup scale\n")
- call plsout ("90 rotate\n")
- call plsout ("75 -2460 translate\n")
- call plsout ("0 0 moveto\n")
- C
- C Set other line drawing parameters
- C
- call plsout ("1 setlinewidth\n")
- call plsout ("1 setlinejoin\n")
- call plsout ("1 setlinecap\n")
- C
- C Speed up symbol font handling
- C
- call plsout ("/SF /Courier findfont def\n")
- C
- C Set up definitions for other routines:
- C
- C Move
- C
- call plsout ("/M /moveto load def\n")
- C
- C Relative Move
- C
- call plsout ("/RM /rmoveto load def\n")
- C
- C Draw
- C
- call plsout ("/D {lineto currentpoint stroke moveto} def\n")
- C
- C Special support for dgxplt
- C
- call plsout ("/L /lineto load def\n")
- C
- C Set new origin
- C
- call plsout ("/O {currentpoint translate} def\n")
- C
- C Set new linewidth
- C
- call plsout ("/W {currentpoint stroke moveto setlinewidth} def\n")
- C
- C Set character height
- C
- call plsout ("/H {SF exch scalefont setfont} def\n")
- C
- C Show character string
- C
- call plsout ("/S /show load def\n")
- C
- C Start and end rotated text
- C
- call plsout ("/RS {currentpoint gsave translate rotate} def\n")
- call plsout ("/RE /grestore load def\n")
-
- end if
-
- C
- C Initialise common variables
- C
- fac = 1.0
- xold = 0.0
- yold = 0.0
- ires = 300
-
- return
- end
-