#ifndef lint static char sccsid[] = "@(#)subr.c 4.1 (Berkeley) 6/27/83"; #endif #include float obotx = 0.; float oboty = 0.; float botx = 0.; float boty = 0.; float scalex = 1.; float scaley = 1.; int scaleflag; int oloy = -1; int ohiy = -1; int ohix = -1; int oextra = -1; cont(x,y){ int hix,hiy,lox,loy,extra; int n; x = (x-obotx)*scalex + botx; y = (y-oboty)*scaley + boty; hix=(x>>7) & 037; hiy=(y>>7) & 037; lox = (x>>2)&037; loy=(y>>2)&037; extra=x&03+(y<<2)&014; n = (abs(hix-ohix) + abs(hiy-ohiy) + 6) / 12; if(hiy != ohiy){ putch(hiy|040); ohiy=hiy; } if(hix != ohix){ if(extra != oextra){ putch(extra|0140); oextra=extra; } putch(loy|0140); putch(hix|040); ohix=hix; oloy=loy; } else{ if(extra != oextra){ putch(extra|0140); putch(loy|0140); oextra=extra; oloy=loy; } else if(loy != oloy){ putch(loy|0140); oloy=loy; } } putch(lox|0100); while(n--) putch(0); } putch(c){ putc(c,stdout); }