Annotation of researchv10no/cmd/picasso/picasso.ps, revision 1.1.1.1

1.1       root        1: %!
                      2: %      @(#)newpic newpic.ps 1.0b@(#)   10/27/89
                      3: 
                      4: /s /stroke load def
                      5: /f /fill load def
                      6: /n /newpath load def
                      7: /c /closepath load def
                      8: /l /lineto load def
                      9: /g /setgray load def
                     10: /d /setdash load def
                     11: /rgb /setrgbcolor load def
                     12: /w /setlinewidth load def
                     13: /gs /gsave load def
                     14: /gr /grestore load def
                     15: /slj /setlinejoin load def
                     16: /clj /currentlinejoin load def
                     17: /magnification 1 def
                     18: 
                     19: /PIC { % tx ty sx sy $ -- place origin at center
                     20:        clippath pathbbox newpath
                     21:        exch 4 -1 roll add 2 div 3 1 roll add 2 div translate
                     22:        scale magnification magnification scale translate
                     23: } bind def
                     24: 
                     25: /L { % p*N N p $
                     26:        moveto { lineto } repeat
                     27: } bind def
                     28: 
                     29: /rL { % p*N r N p $
                     30:        moveto
                     31:        1 sub
                     32:        { 3 1 roll 4 index 4 index 4 index arcto 4 { pop } repeat } repeat
                     33:        pop
                     34:        lineto
                     35: } bind def
                     36: 
                     37: /T { % string noofspace width p $
                     38:        moveto
                     39:        2 index stringwidth pop sub exch
                     40:        dup 0 eq
                     41:                { pop 1 index length div 0 3 -1 roll ashow }
                     42:                { div 0 8#40 4 -1 roll widthshow }
                     43:        ifelse
                     44: } bind def
                     45: 
                     46: /AT { % string noofspace width $
                     47:        2 index stringwidth pop sub exch
                     48:        dup 0 eq
                     49:                { pop 1 index length div 0 3 -1 roll ashow }
                     50:                { div 0 8#40 4 -1 roll widthshow }
                     51:        ifelse
                     52: } bind def
                     53: 
                     54: /Q { % llx lly urx ury $
                     55:        2 copy
                     56:        moveto
                     57:        3 index exch lineto
                     58:        3 1 roll dup 3 1 roll lineto lineto
                     59:        closepath
                     60: } bind def
                     61: 
                     62: /rQ { % llx lly urx ury r $
                     63:        2 index 2 index 5 index add 2 div moveto
                     64:        3 copy 7 index 2 index 3 -1 roll arcto 4 { pop } repeat
                     65:        4 index 2 index 1 index 6 index 4 index arcto 4 { pop } repeat
                     66:        5 copy exch pop 2 index exch arcto 4 { pop } repeat
                     67:        2 index 5 1 roll arcto 5 { pop } repeat
                     68:        closepath
                     69: } bind def
                     70: 
                     71: /E { % 0 0 1 ang1 ang2 matrix 
                     72:        matrix currentmatrix
                     73:        exch
                     74:        concat
                     75:        newpath
                     76:        6 1 roll
                     77:        arc
                     78:        setmatrix
                     79: } bind def
                     80: 
                     81: /Sp { % p*N N p p $
                     82:        2 copy
                     83:        moveto
                     84:        4 copy
                     85:        exch 4 -1 roll add 2 div 3 1 roll add 2 div lineto
                     86:        5 -1 roll
                     87:        {
                     88:                6 copy pop pop 2 copy
                     89:                exch 8 -1 roll sub 6 div 3 index exch sub
                     90:                exch 7 -1 roll sub 6 div 2 index exch sub
                     91:                6 2 roll 4 copy
                     92:                exch 4 -1 roll exch sub 6 div 4 index add
                     93:                3 1 roll sub 6 div 2 index add
                     94:                6 2 roll
                     95:                exch 4 -1 roll add 2 div 3 1 roll add 2 div
                     96:                curveto
                     97:        } repeat
                     98:        pop pop
                     99:        lineto
                    100: } bind def

unix.superglobalmegacorp.com

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