|
|
1.1 root 1: #ifndef lint
2: static char sccsid[] = "@(#)subr.c 4.1 (Berkeley) 6/27/83";
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.