INCLUDE "std primitives"; PLOTTER "WATANABE",3,8,3449,2599,34.5,26.0; COLORS "999000900009090000990"; LET terminator = ""13""; TEXT VAR watanabe polygon :: ""; PROC watanabe pen (INT CONST nummer): draw watanabe polygon; INT VAR pen no := nummer; IF pen no > 6 OR pen no < 0 THEN pen no := 1 FI; out ("J" + text(pen no) + terminator) END PROC watanabe pen; PROC draw watanabe polygon: IF watanabe polygon <> "" THEN out ("D" + subtext (watanabe polygon,2) + terminator) FI; watanabe polygon := "" END PROC draw watanabe polygon; PROC prepare: continue (channel (plotter)) END PROC prepare; PROC initplot: watanabe polygon := ""; TEXT VAR watanabe wait; REP UNTIL incharety = "" PER; out("M1500,1500"13""); (* Signal ! *) inchar(watanabe wait); disable stop END PROC initplot; PROC endplot: watanabe pen (0); home; IF is error THEN break (quiet) FI; enable stop END PROC endplot; PROC clear: watanabe pen (1) END PROC clear; PROC home: draw watanabe polygon; out ("H" + terminator) END PROC home; PROC moveto (INT CONST x,y): draw watanabe polygon; out ( "M" + text(x) + "," + text(y) + terminator) END PROC moveto; PROC drawto (INT CONST x,y): watanabe polygon CAT "," + text (x) + "," + text (y) END PROC drawto; PROC setpixel (INT CONST x,y): move to (x,y); out ("N1" + terminator) END PROC setpixel; PROC foreground (INT VAR type): type := min (max (type, 0), 6); watanabe pen (type) END PROC foreground; PROC background (INT VAR type): type := 0 END PROC background; PROC setpalette: END PROC setpalette; PROC circle (INT CONST x,y,rad,from,to): std circle (x,y,rad,from,to) END PROC circle; PROC box (INT CONST x1,y1,x2,y2,pattern): std box (x1,y1,x2,y2,pattern) END PROC box; PROC fill (INT CONST x,y,pattern): END PROC fill;