Annotation of 42BSD/usr.lib/libplot/t450/subr.c, revision 1.1

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: #include "con.h"
        !             7: abval(q)
        !             8: {
        !             9:        return (q>=0 ? q : -q);
        !            10: }
        !            11: 
        !            12: xconv (xp)
        !            13: {
        !            14:        /* x position input is -2047 to +2047, output must be 0 to PAGSIZ*HORZRES */
        !            15:        xp += 2048;
        !            16:        /* the computation is newx = xp*(PAGSIZ*HORZRES)/4096 */
        !            17:        return (xoffset + xp /xscale);
        !            18: }
        !            19: 
        !            20: yconv (yp)
        !            21: {
        !            22:        /* see description of xconv */
        !            23:        yp += 2048;
        !            24:        return (yp / yscale);
        !            25: }
        !            26: 
        !            27: inplot()
        !            28: {
        !            29:        spew (ESC);
        !            30:        spew(PLOTIN);
        !            31: }
        !            32: 
        !            33: outplot()
        !            34: {
        !            35:        spew(ESC);
        !            36:        spew(PLOTOUT);
        !            37:        fflush(stdout);
        !            38: }
        !            39: 
        !            40: spew(ch)
        !            41: {
        !            42:        if(ch == UP){
        !            43:                putc(ESC,stdout);
        !            44:                ch = DOWN;
        !            45:        }
        !            46:        putc(ch, stdout);
        !            47: }
        !            48: 
        !            49: tobotleft ()
        !            50: {
        !            51:        move(-2048,-2048);
        !            52: }
        !            53: reset()
        !            54: {
        !            55:        signal(2,1);
        !            56:        outplot();
        !            57:        stty(OUTF,&ITTY);
        !            58:        exit();
        !            59: }
        !            60: 
        !            61: float
        !            62: dist2 (x1, y1, x2, y2)
        !            63: {
        !            64:        float t,v;
        !            65:        t = x2-x1;
        !            66:        v = y1-y2;
        !            67:        return (t*t+v*v);
        !            68: }
        !            69: 
        !            70: swap (pa, pb)
        !            71: int *pa, *pb;
        !            72: {
        !            73:        int t;
        !            74:        t = *pa;
        !            75:        *pa = *pb;
        !            76:        *pb = t;
        !            77: }
        !            78: movep (xg,yg)
        !            79: {
        !            80:        int i,ch;
        !            81:        if((xg == xnow) && (yg == ynow))return;
        !            82:        /* if we need to go to left margin, just CR */
        !            83:        if (xg < xnow/2)
        !            84:        {
        !            85:                spew(CR);
        !            86:                xnow = 0;
        !            87:        }
        !            88:        i = (xg-xnow)/HORZRES;
        !            89:        if(xnow < xg)ch = RIGHT;
        !            90:        else ch = LEFT;
        !            91:        xnow += i*HORZRES;
        !            92:        i = abval(i);
        !            93:        while(i--)spew(ch);
        !            94:        i = abval(xg-xnow);
        !            95:        inplot();
        !            96:        while(i--) spew(ch);
        !            97:        outplot();
        !            98:        i=(yg-ynow)/VERTRES;
        !            99:        if(ynow < yg)ch = UP;
        !           100:        else ch = DOWN;
        !           101:        ynow += i*VERTRES;
        !           102:        i = abval(i);
        !           103:        while(i--)spew(ch);
        !           104:        i=abval(yg-ynow);
        !           105:        inplot();
        !           106:        while(i--)spew(ch);
        !           107:        outplot();
        !           108:        xnow = xg; ynow = yg;
        !           109: }
        !           110: 
        !           111: xsc(xi){
        !           112:        int xa;
        !           113:        xa = (xi - obotx) * scalex + botx;
        !           114:        return(xa);
        !           115: }
        !           116: ysc(yi){
        !           117:        int ya;
        !           118:        ya = (yi - oboty) *scaley +boty;
        !           119:        return(ya);
        !           120: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.