xref: /plan9-contrib/sys/src/cmd/map/iplot.h (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
13e12c5d1SDavid du Colombier /* Plotting functions for v8 and v9 systems */
23e12c5d1SDavid du Colombier /* This file is an alternative to plot.h */
33e12c5d1SDavid du Colombier 
43e12c5d1SDavid du Colombier /* open the plotting output */
5*7dd7cddfSDavid du Colombier #define openpl()  print("o\n")
63e12c5d1SDavid du Colombier 
73e12c5d1SDavid du Colombier /* close the plotting output */
8*7dd7cddfSDavid du Colombier #define closepl()  print("cl\n")
93e12c5d1SDavid du Colombier 
103e12c5d1SDavid du Colombier /* make sure the page or screen is clear */
11*7dd7cddfSDavid du Colombier #define erase() print("e\n")
123e12c5d1SDavid du Colombier 
133e12c5d1SDavid du Colombier /* plot a point at _x,_y, which becomes current */
14*7dd7cddfSDavid du Colombier #define point(_x,_y)  print("poi %d %d\n", _x,_y)
153e12c5d1SDavid du Colombier 
163e12c5d1SDavid du Colombier /* coordinates to be assigned to lower left and upper right
173e12c5d1SDavid du Colombier    corners of (square) plotting area */
18*7dd7cddfSDavid du Colombier #define range(_x,_y,_X,_Y)  print("ra %d %d %d %d\n", _x,_y,_X,_Y)
193e12c5d1SDavid du Colombier 
203e12c5d1SDavid du Colombier /* place text, first letter at current point, which does not change */
21*7dd7cddfSDavid du Colombier #define text(_s)  {if(*(_s) == ' ')print("t \"%s\"\n",_s); else print("t %s\n", _s); }
223e12c5d1SDavid du Colombier 
233e12c5d1SDavid du Colombier /* draw line from current point to _x,_y, which becomes current */
24*7dd7cddfSDavid du Colombier #define vec(_x,_y)  print("v %d %d\n", _x,_y)
253e12c5d1SDavid du Colombier 
263e12c5d1SDavid du Colombier /* _x,_y becomes current point */
27*7dd7cddfSDavid du Colombier #define move(_x, _y)  print("m %d %d\n", _x, _y)
283e12c5d1SDavid du Colombier 
29219b2ee8SDavid du Colombier /* specify style for drawing lines */
30219b2ee8SDavid du Colombier 
31219b2ee8SDavid du Colombier #define SOLID "solid"
32219b2ee8SDavid du Colombier #define DOTTED "dotted"
33219b2ee8SDavid du Colombier #define DASHED "dashed"
34219b2ee8SDavid du Colombier #define DOTDASH "dotdash"
35219b2ee8SDavid du Colombier 
36*7dd7cddfSDavid du Colombier #define pen(_s)  print("pe %s\n", _s)
37219b2ee8SDavid du Colombier 
38*7dd7cddfSDavid du Colombier #define BLACK "z"
39*7dd7cddfSDavid du Colombier #define RED "r"
40*7dd7cddfSDavid du Colombier #define YELLOW "y"
41*7dd7cddfSDavid du Colombier #define GREEN "g"
42*7dd7cddfSDavid du Colombier #define BLUE "b"
43*7dd7cddfSDavid du Colombier #define CYAN "c"
44*7dd7cddfSDavid du Colombier #define MAGENTA "m"
45*7dd7cddfSDavid du Colombier #define WHITE "w"
46219b2ee8SDavid du Colombier 
47*7dd7cddfSDavid du Colombier #define colorcode(_s) ((strcmp(_s,"black")==0)?BLACK:_s)
48*7dd7cddfSDavid du Colombier 
49*7dd7cddfSDavid du Colombier #define colorx(_s) print("co %s\n", _s);	/* funny name is all ken's fault */
50*7dd7cddfSDavid du Colombier 
51*7dd7cddfSDavid du Colombier #define comment(s,f)
52