Commit | Line | Data |
---|---|---|
fac045f8 | 1 | #ifndef lint |
0f4556f1 | 2 | static char sccsid[] = "@(#)subr.c 4.1 (Berkeley) 6/27/83"; |
fac045f8 SL |
3 | #endif |
4 | ||
5 | #include <stdio.h> | |
6 | float obotx = 0.; | |
7 | float oboty = 0.; | |
8 | float botx = 0.; | |
9 | float boty = 0.; | |
10 | float scalex = 1.; | |
11 | float scaley = 1.; | |
12 | int scaleflag; | |
13 | ||
14 | int oloy = -1; | |
15 | int ohiy = -1; | |
16 | int ohix = -1; | |
17 | int oextra = -1; | |
18 | cont(x,y){ | |
19 | int hix,hiy,lox,loy,extra; | |
20 | int n; | |
21 | x = (x-obotx)*scalex + botx; | |
22 | y = (y-oboty)*scaley + boty; | |
23 | hix=(x>>7) & 037; | |
24 | hiy=(y>>7) & 037; | |
25 | lox = (x>>2)&037; | |
26 | loy=(y>>2)&037; | |
27 | extra=x&03+(y<<2)&014; | |
28 | n = (abs(hix-ohix) + abs(hiy-ohiy) + 6) / 12; | |
29 | if(hiy != ohiy){ | |
30 | putch(hiy|040); | |
31 | ohiy=hiy; | |
32 | } | |
33 | if(hix != ohix){ | |
34 | if(extra != oextra){ | |
35 | putch(extra|0140); | |
36 | oextra=extra; | |
37 | } | |
38 | putch(loy|0140); | |
39 | putch(hix|040); | |
40 | ohix=hix; | |
41 | oloy=loy; | |
42 | } | |
43 | else{ | |
44 | if(extra != oextra){ | |
45 | putch(extra|0140); | |
46 | putch(loy|0140); | |
47 | oextra=extra; | |
48 | oloy=loy; | |
49 | } | |
50 | else if(loy != oloy){ | |
51 | putch(loy|0140); | |
52 | oloy=loy; | |
53 | } | |
54 | } | |
55 | putch(lox|0100); | |
56 | while(n--) | |
57 | putch(0); | |
58 | } | |
59 | ||
60 | putch(c){ | |
61 | putc(c,stdout); | |
62 | } |