Annotation of researchv10no/cmd/post.src/dpost.utf/draw.ps, revision 1.1.1.1

1.1       root        1: %
                      2: % Version 3.3.2 drawing procedures for dpost. Automatically pulled in when
                      3: % needed.
                      4: %
                      5: 
                      6: /inpath false def
                      7: /savematrix matrix def
                      8: 
                      9: /Dl {
                     10:        inpath
                     11:                {pop pop neg lineto}
                     12:                {newpath neg moveto neg lineto stroke}
                     13:        ifelse
                     14: } bind def
                     15: 
                     16: /De {
                     17:        /y1 exch 2 div def
                     18:        /x1 exch 2 div def
                     19:        /savematrix savematrix currentmatrix def
                     20:        neg exch x1 add exch translate
                     21:        x1 y1 scale
                     22:        0 0 1 0 360
                     23:        inpath
                     24:                {1 0 moveto arc savematrix setmatrix}
                     25:                {newpath arc savematrix setmatrix stroke}
                     26:        ifelse
                     27: } bind def
                     28: 
                     29: /Da {
                     30:        /dy2 exch def
                     31:        /dx2 exch def
                     32:        /dy1 exch def
                     33:        /dx1 exch def
                     34:        dy1 add neg exch dx1 add exch
                     35:        dx1 dx1 mul dy1 dy1 mul add sqrt
                     36:        dy1 dx1 neg atan
                     37:        dy2 neg dx2 atan
                     38:        inpath
                     39:                {arc}
                     40:                {newpath arc stroke}
                     41:        ifelse
                     42: } bind def
                     43: 
                     44: /DA {
                     45:        /dy2 exch def
                     46:        /dx2 exch def
                     47:        /dy1 exch def
                     48:        /dx1 exch def
                     49:        dy1 add neg exch dx1 add exch
                     50:        dx1 dx1 mul dy1 dy1 mul add sqrt
                     51:        dy1 dx1 neg atan
                     52:        dy2 neg dx2 atan
                     53:        inpath
                     54:                {arcn}
                     55:                {newpath arcn stroke}
                     56:        ifelse
                     57: } bind def
                     58: 
                     59: /Ds {
                     60:        /y2 exch def
                     61:        /x2 exch def
                     62:        /y1 exch def
                     63:        /x1 exch def
                     64:        /y0 exch def
                     65:        /x0 exch def
                     66:        x0 5 x1 mul add 6 div
                     67:        y0 5 y1 mul add -6 div
                     68:        x2 5 x1 mul add 6 div
                     69:        y2 5 y1 mul add -6 div
                     70:        x1 x2 add 2 div
                     71:        y1 y2 add -2 div
                     72:        inpath
                     73:                {curveto}
                     74:                {newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke}
                     75:        ifelse
                     76: } bind def

unix.superglobalmegacorp.com

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