|
|
1.1 ! root 1: #ifndef lint ! 2: static char sccsid[] = "@(#)line.c 4.1 (Berkeley) 6/27/83"; ! 3: #endif ! 4: ! 5: #include "con.h" ! 6: line(x0,y0,x1,y1){ ! 7: iline(xconv(xsc(x0)),yconv(ysc(y0)),xconv(xsc(x1)),yconv(ysc(y1))); ! 8: return; ! 9: } ! 10: cont(x0,y0){ ! 11: iline(xnow,ynow,xconv(xsc(x0)),yconv(ysc(y0))); ! 12: return; ! 13: } ! 14: iline(cx0,cy0,cx1,cy1){ ! 15: int maxp,tt,j,np; ! 16: char chx,chy,command; ! 17: float xd,yd; ! 18: float dist2(),sqrt(); ! 19: movep(cx0,cy0); ! 20: maxp = sqrt(dist2(cx0,cy0,cx1,cy1))/2.; ! 21: xd = cx1-cx0; ! 22: yd = cy1-cy0; ! 23: command = COM|((xd<0)<<1)|(yd<0); ! 24: if(maxp == 0){ ! 25: xd=0; ! 26: yd=0; ! 27: } ! 28: else { ! 29: xd /= maxp; ! 30: yd /= maxp; ! 31: } ! 32: inplot(); ! 33: spew(command); ! 34: for (tt=0; tt<=maxp; tt++){ ! 35: chx= cx0+xd*tt-xnow; ! 36: xnow += chx; ! 37: chx = abval(chx); ! 38: chy = cy0+yd*tt-ynow; ! 39: ynow += chy; ! 40: chy = abval(chy); ! 41: spew(ADDR|chx<<3|chy); ! 42: } ! 43: outplot(); ! 44: return; ! 45: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.