1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
INCLUDE "terminal plot";
INCLUDE "std primitives";
PLOTTER "VC 404",2,7,78,47,21.5,16.0;
COLORS "000999";
PROC clear:
IF plot
THEN INT VAR vc i;
FOR vc i FROM 1 UPTO 24
REP display [vc i] := empty line PER;
page
ELSE errorstop ("PROC clear : clear without plotmodus") FI
END PROC clear;
PROC prepare:
break(quiet);
REP
disable stop;
continue (channel(plotter));
clear error;
enable stop;
IF NOT online
THEN pause (300)
FI
UNTIL online PER
END PROC prepare;
PROC initplot:
plot := TRUE;
cursor (x pos + 1, 24 - (y pos) DIV 2)
END PROC initplot;
PROC endplot:
pause;
plot := FALSE
END PROC endplot;
PROC home:
move to (0,0)
END PROC home;
PROC moveto (INT CONST x,y):
x pos := x ;
y pos := y
END PROC moveto;
PROC drawto (INT CONST x,y):
new x pos := x;
new y pos := y;
plot vector (new x pos - x pos, new y pos - y pos) ;
END PROC drawto;
PROC setpixel (INT CONST x,y):
move to (x,y);
point
END PROC setpixel;
PROC foreground (INT VAR type):
type := 1
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;
|