home *** CD-ROM | disk | FTP | other *** search
/ Computer Buyer 1997 October / DPCB1097.iso / Graphics / Draw7 / FILTERS / SHWIN70.DLL / RCDATA / PROLOG_POSTSCRIPT < prev   
Text File  |  1996-09-25  |  11KB  |  306 lines

  1. %BEGINNING OF PROLOG
  2. %!PS-Adobe
  3. /wpdict 250 dict def
  4. wpdict begin
  5. /d    {bind def}bind def
  6. /l    {load def}d
  7. /cp    /closepath l
  8. /cup    /currentpoint l
  9. /cs    /currentscreen l
  10. /cv    /curveto l
  11. /drx    {dtransform round x round x}d
  12. /f    /eofill l
  13. /g    /setgray l
  14. /gr    /grestore l
  15. /gs    /gsave l
  16. /ife    {ifelse}d
  17. /ix    /index l
  18. /li    /lineto l
  19. /lc    /setlinecap l
  20. /lj    /setlinejoin l
  21. /m    /moveto l
  22. /mx    /matrix l
  23. /np    /newpath l
  24. /p    /pop l
  25. /re    /rotate l
  26. /rh    /readhexstring l
  27. /rl    /rlineto l
  28. /rm    /rmoveto l
  29. /rs    /restore l
  30. /s    /stroke l
  31. /sc    /scale l
  32. /sd    /setdash l
  33. /ss    /setscreen l
  34. /sv    /save l
  35. /tr    /translate l
  36. /w    /setlinewidth l
  37. /x    /exch l
  38. /xd    {x def}d
  39. /c    {3{255 div 3 1 roll}repeat setrgbcolor}d
  40. /bF    false def
  41. /bF2    false def
  42. /bf    0 def
  43. /ds    {gs 1 lc s gr}d
  44. /gd    {255 div g}d
  45. /h    {0 rm}d
  46. /lp    {px li}d
  47. /mp    {px m}d
  48. /nb    50 string def
  49. /osv    0 def
  50. /pf    {gs eofill gr} def
  51. /pff    {gs fill gr} def
  52. /pl    {{px li} repeat}d
  53. /ps    {gs s gr}def
  54. /plen    0 def
  55. /pwid    0 def
  56. /px    {transform .25 sub round .25 add x .25 sub round .25 add x
  57.     itransform}d
  58. /pxd    {drx idtransform}d
  59. /rlp    {pxd rl}d
  60. /rmp    {pxd rm}d
  61. /_g    {g}d
  62. /_lr    {rlp}d
  63. /_s    {s}d
  64. /_w    {w}d
  65. /rmtx    mx def
  66. /_m    {mp}d
  67. /_rmxy    {rmp}d
  68. /rF    false def
  69. /sF    false def
  70. /pth 0 def/ptw 0 def/pths 0 def/ptws 0 def/PColor 0 def
  71. /instpat 0 def/cm 0 def/slan 0 def/hscl 0 def
  72. /psz 0 def/xres 0 def/yres 0 def/pstr 0 def/lutb 0 def
  73. /rot 0 def/mir 0 def/HTd 0 def/WDd 0 def/ury 0 def
  74. /llx 0 def/lly 0 def/exstr 0 def/HTs 0 def/WDs 0 def 
  75. /Hs 0 def/Ws 0 def/imc 0 def/Bdep 0 def/clu 0 def
  76. /curx 0 def/cury 0 def/Sx 0 def/Sy 0 def/xpos 0 def
  77. /ypos 0 def/lw 0 def
  78. /DUy 0 def/DUx 0 def/Ux 0 def/Uy 0 def/cml 0 def
  79. /PATsc {aload length dup 1 eq{p dup null eq{p}{gd}ife}{p c}ife}d
  80. /PATtcalc {gs x concat mx currentmatrix x 2 ne{dup 4 get x dup 5 get x
  81.     XStep 0 drx XStep div x XStep div x 0 YStep drx YStep div x YStep div x
  82.     7 -3 roll astore}if gr}d
  83. /PATmp {x dup length 7 add dict copy begin TilingType PATtcalc
  84.     /cm xd currentdict /Multi known not {/Multi 1 def}if
  85.     /FontType 3 def /Encoding 256 array def
  86.     3 string 0 1 255{Encoding x dup 3 ix cvs cvn put}for p
  87.     /FontMatrix mx def /FontBBox BBox def
  88.     /BuildChar{mark 3 1 roll x begin
  89.     Multi 1 ne {PaintData x get}{p}ife
  90.     PaintType 2 eq Multi 1 ne or
  91.     {XStep 0 FontBBox aload p setcachedevice}
  92.     {XStep 0 setcharwidth}ife currentdict /PaintProc load
  93.     end gs false PATredef exec true PATredef gr
  94.     cleartomark}d currentdict end /foo x definefont}d 
  95. /PATpcalc {PATDict /CurrentPattern get begin gs
  96.     cm setmatrix BBox aload p p p tr pathbbox
  97.     gr YStep div ceiling 4 1 roll XStep div ceiling 4 1 roll
  98.     YStep div floor 4 1 roll XStep div floor 4 1 roll
  99.     2 ix sub cvi abs x 3 ix sub cvi abs x
  100.     4 2 roll YStep mul x XStep mul x end}d
  101. /PATfill {save 5 1 roll PATDict /CurrentPattern get dup begin
  102.     setfont cm setmatrix PaintType 2 eq{PATDict /PColor get PATsc}if
  103.     3 ix string 0 1 Multi 1 sub{3 ix 3 ix m
  104.     Multi 1 ne{dup PaintColors x get PATsc}if
  105.     0 1 7 ix 1 sub{2 ix x 2 ix put}for p
  106.     3 ix{cup 2 ix show YStep add m}repeat}for
  107.     5{p}repeat end restore}d
  108. /oldeofill    /eofill l
  109. /oldfill    /fill l
  110. /oldstroke    /stroke l
  111. /oldshow    /show l
  112. /oldwidthshow    /widthshow l
  113. /PATredef {userdict begin
  114.     {/eofill    {/eoclip load PATdraw np}d
  115.     /fill        {/clip load PATdraw np}d
  116.     /stroke        {PATstroke}d
  117.     /show        {0 0 null 0 0 6 -1 roll PATawidthshow}d
  118.     /widthshow    {0 0 3 -1 roll PATawidthshow}d}
  119.     {/eofill    {oldeofill}d
  120.     /fill        {oldfill}d
  121.     /stroke        {oldstroke}d
  122.     /show        {oldshow}d
  123.     /widthshow    {oldwidthshow}d}ife
  124.     end}d
  125. false PATredef
  126. /PATdraw {PATpcalc gs 5 -1 roll exec np PATfill gr}d
  127. /PATstroke {{cup strokepath m PATpcalc gs clip np PATfill gr np}stopped
  128.     {0.1 g oldstroke (Path is too complex, filling with light gray)=}if}d
  129. /PATsstr 1 string def
  130. /PATawidthshow {{dup PATsstr dup 0 4 -1 roll put
  131.         false charpath /clip load PATdraw cup np m
  132.         3 ix eq{4 ix 4 ix rm}if 2 copy rm}forall
  133.         p p p p p cup np m}d
  134. /PATDict 3 dict def
  135. /PATsp {true PATredef PATDict begin /CurrentPattern xd
  136.         CurrentPattern /PaintType get 2 eq {/PColor xd} if
  137.         /CColor[currentrgbcolor]def end}d
  138. /PATusp {false PATredef PATDict begin CColor aload p c end p}d
  139. /pdictt 20 dict def
  140. pdictt begin
  141. /dummy null def
  142. /PaintType 1 def
  143. /PatternType 1 def
  144. /TilingType 2 def 
  145. /BBox [0 0 1 1] def
  146. /XStep 1 def/YStep 1 def/Multi 2 def
  147. /PaintData[{0 0 m 0 1 rl 1 0 rl 0 -1 rl closepath
  148.     PaintColors 0 get aload p null ne {eofill}if}
  149.     {ptw pth true [ptw 0 0 pth neg 0 ptw]{Bitmap}imagemask}]def
  150. /PaintProc {begin exec end}d
  151. end
  152. /makedict {pdictt 20 dict copy dup begin
  153.     x /Bitmap xd x /PaintColors xd gs initmatrix 1 1 drx idtransform sc
  154.     [ptws 0 0 pths 0 0] PATmp gr end}d
  155. /setpat {/pth xd /ptw xd /pths xd /ptws xd makedict /instpat xd instpat PATsp}d
  156. /unsetpat {instpat PATusp}d
  157. /B    {/bF true def sF not{/S /bsh l /bF2 true def}if}d
  158. /b    {/bF false def bF2{/S /show l /bF2 false def}if}d
  159. /bd    {sv}d
  160. /bp    {sv .06 .06 sc 0 0 m}d
  161. /bsh    {gs psz 30 div 0 rm dup show gr show}d
  162. /clr    {rF{6 3 roll p p p}{eq3{p p gd}{c}ife}ife}d
  163. /co    {/pwid xd /plen xd
  164.     osv 1 eq{0 pwid tr -90 re}if osv 2 eq{pwid plen tr 180 re}if
  165.     osv 3 eq{plen 0 tr 90 re}if dup 1 eq{pwid 0 tr 90 re}if
  166.     dup 2 eq{pwid plen tr 180 re}if dup 3 eq{0 plen tr -90 re}if /osv xd}d
  167. /cw    {s initclip m 0 2 ix rl 0 rl 0 x neg rl clip np}d
  168. /ed    {rs}d
  169. /ep    {rs showpage 0 0 m}d
  170. /eq3    {3 copy 2 ix eq{eq{true}{false}ife}{p p false}ife}d
  171. /fr    {72 0 rmtx defaultmatrix dtransform
  172.     /yres xd /xres xd xres dup mul yres dup mul add sqrt}d
  173. /is    {sv 4 1 roll dup /pstr x 7 add 8 idiv string def
  174.     3 1 roll tr dup 1 sc dup 1 1[5 -1 roll 0 0 1 0 0]
  175.     {currentfile pstr rh p}
  176.     cml 0 eq{image}{false 3 colorimage}ife rs}d
  177. /cexp    {exstr 0 lutb 3 copy 7 -1 roll
  178.     {get putinterval exch 3 add exch 3 copy}forall p p p p p}d
  179. /bwexp    {dup 0 lutb 3 copy 7 -1 roll
  180.     {get put exch 1 add exch 3 copy}forall p p p p p}d
  181. /NOM 0 def/INX 1 def/INY 2 def
  182. /p1x 0 def/p1y 0 def/p2x 0 def/p2y 0 def/p3x 0 def/p3y 0 def
  183. /idef    {/p3y xd /p3x xd /p2y xd /p2x xd /p1y xd /p1x xd
  184.     /rot xd /mir xd p3x p1x sub 1 add dup mul p1y p3y sub 1 add 
  185.     dup mul add sqrt /HTd xd p2y p1y sub 1 add dup mul p2x p1x 
  186.     sub 1 add dup mul add sqrt /WDd xd}def
  187. /mirror {mir NOM eq{Ws Hs sc}{mir INX eq{Ws neg Hs sc}
  188.     {mir INY eq {Ws Hs neg sc}{Ws neg Hs neg sc}ife}ife}ife}def
  189. /ic    {sv 6 1 roll tr 2 ix 2 ix sc [3 ix 0 0 5 ix neg 0 7 ix]
  190.     2 1 roll true 3 1 roll imagemask rs}d
  191. /ieps    {/ury xd /urx xd /lly xd /llx xd idef
  192.     ury lly sub /HTs xd urx llx sub /WDs xd
  193.     WDd WDs div /Ws xd HTd HTs div /Hs xd
  194.     p3x p3y tr rot rotate mirror llx neg lly neg tr}def
  195. /im    {sv 15 1 roll dup /pstr x string def /exstr x 3 mul string def
  196.     /HTs xd /WDs xd /imc xd /Bdep xd /clu xd
  197.     idef p1x p1y m cup transform /cury xd /curx xd rot rotate
  198.     /Ws WDd def /Hs HTd def mirror curx cury itransform tr WDs HTs Bdep
  199.     [WDs 0 0 HTs neg 0 0]{currentfile pstr rh p 
  200.     clu 1 eq{cexp}if clu 2 eq{bwexp}if}
  201.     imc 0 eq{image}{false 3 colorimage}ife rs}d
  202. /URy    0 def/URx    0 def/LLy    0 def/LLx    0 def
  203. /dxcg    0 def/dx1    0 def/dx2    0 def/dx3    0 def
  204. /cgray    0 def/curstep    -1 def/dis    0 def/steps    0 def
  205. /gsteps    0 def/grot    0 def/gtype      1 def/ry     0 def
  206. /rx    0 def/botg    0 def/topg    0 def
  207. /bgc    0 def/tgc    0 def/cgc    0 def
  208. /extents {flattenpath pathbbox /URy xd /URx xd /LLy xd /LLx xd}def
  209. /dxcolor {cml 0 eq{cgray dxcg sub dup /cgray xd curstep -1 eq{g}
  210.     {/curstep curstep 1 sub def curstep 1 eq {pop botg gd}{g}ife}ife}
  211.     {cgc aload pop dx3 sub 3 1 roll dx2 sub 3 1 roll
  212.     dx1 sub 3 1 roll 3 array astore /cgc xd
  213.     cgc aload pop setrgbcolor}ife}d
  214. /box {LLx LLy m URx LLy li URx URy li LLx URy li cp s}def
  215. /calcdx {sub gsteps 1 sub div 255 div} def
  216. /computegdx    {topg botg calcdx /dxcg xd} def
  217. /computeRGBdx {mark tgc aload pop bgc aload pop
  218. 3 ix 1 ix calcdx /dx3 xd 4 ix 2 ix calcdx /dx2 xd
  219. 5 ix 3 ix calcdx /dx1 xd cleartomark}def
  220. /ccdx{cml 0 eq{computegdx}{computeRGBdx}ife}def
  221. /stclr {cml 0 eq{topg gd /cgray currentgray def}
  222.     {tgc aload pop c currentrgbcolor 3 array astore
  223.     /cgc xd}ife}def
  224. /lgf    {/steps gsteps def
  225.     ry 0 ne
  226.     {stclr /gf {add}def /top URy LLy sub ry mul LLy add def
  227.     /lw URy top sub steps .5 sub div def lgfdo}if
  228.     stclr /gf {sub} def
  229.     ry 0 ne{/lw top LLy sub steps .5 sub div def}if lgfdo}def
  230. /lgfdo    {ry 0 ne
  231.     {/center top def lw 2 div w
  232.     LLx center lw 4 div gf m URx center lw 4 div gf li s
  233.     /center center lw gf def LLx center m dxcolor}
  234.     {/lw URy LLy sub steps div def
  235.     /top URy lw 2 div sub def
  236.     /center top def LLx top m
  237.     /steps steps 1 add def}ife
  238.     lw w steps 1 sub dup /curstep xd
  239.     {URx center li s center lw gf /center xd
  240.     LLx center m dxcolor}repeat
  241.     /curstep -1 def
  242.     }def
  243. /sgf    {/steps gsteps .5 sub def
  244.     /midx URx LLx sub 1 rx sub mul def
  245.     /midy URy LLy sub ry mul def
  246.     /width URx LLx sub def
  247.     /dx width midx sub steps div def
  248.     /height URy LLy sub def
  249.     /dy height midy sub steps div def
  250.     /dw width steps div def /dl height steps div def
  251.     width w stclr 
  252.     /xpos LLx def /ypos URy def /lw width def /lh height def
  253.     gsteps
  254.     {xpos lw 2 div add ypos m xpos lw 2 div add ypos 
  255.     lh sub li s /lw lw dw sub def/lh lh dl sub def
  256.     /xpos xpos dx add def /ypos ypos dy sub def
  257.     lw w dxcolor}repeat /curstep -1 def}def
  258. /dfc    {dup mul x dup mul add sqrt dup dis gt{/dis xd}{p}ife}def
  259. /fdis    {URx LLx sub rx mul LLx add /midx xd
  260.     URy LLy sub ry mul LLy add /midy xd
  261.     /width URx LLx sub def /gcx width rx mul def
  262.     /height URy LLy sub def /gcy height ry mul def
  263.     gcx gcy dfc width gcx sub gcy dfc 
  264.     width gcx sub height gcy sub dfc gcx height gcy sub dfc}def
  265. /rgf    {/steps gsteps def
  266.     fdis /lw dis steps .5 sub div def
  267.     /radius lw def lw 2 div w stclr 
  268.     midx lw 2 div sub midy m midx midy radius 2 div 0 361 arc s lw w
  269.     steps 1 sub
  270.     dup /curstep xd /curstep curstep 1 add def
  271.     {dxcolor midx midy radius 0 361 arc s /radius radius lw add def
  272.     }repeat
  273.     /curstep -1 def}def
  274. /gf    {/gsteps xd/grot xd/gtype xd/ry x 65536 div def/rx x 65536 div def
  275.     cml 0 eq 
  276.     {gtype 2 eq{x}if /botg xd/topg xd}
  277.     {gtype 2 eq{6 3 roll}if
  278.     3 array astore /bgc xd
  279.     3 array astore /tgc xd}ife
  280.     sv []0 sd 0 lc eoclip gsteps 1 eq
  281.     {stclr eofill}
  282.     {grot rotate extents
  283.     gsteps 0 eq {csteps}if
  284.     ccdx gtype 1 eq
  285.     {lgf}{gtype 2 eq{sgf}{rgf}ife}ife}ife rs}d
  286.     /csteps    {fdis dis 72 div fr mul    cs p p dup xres
  287.     eq{p p /gsteps xres def}{div /gsteps exch round cvi
  288.     dup 1 le{p 2}if def}ife}def
  289. /gfw    {/gsteps xd/grot xd/gtype xd/ry x 65536 div def/rx x 65536 div def
  290.     cml 0 eq 
  291.     {gtype 2 eq{x}if /botg xd/topg xd}
  292.     {gtype 2 eq{6 3 roll}if
  293.     3 array astore /bgc xd
  294.     3 array astore /tgc xd}ife
  295.     sv []0 sd 0 lc clip gsteps 1 eq
  296.     {stclr fill}
  297.     {grot rotate extents
  298.     gsteps 0 eq {csteps}if
  299.     ccdx gtype 1 eq
  300.     {lgf}{gtype 2 eq{sgf}{rgf}ife}ife}ife rs}d
  301.     /csteps    {fdis dis 72 div fr mul    cs p p dup xres
  302.     eq{p p /gsteps xres def}{div /gsteps exch round cvi
  303.     dup 1 le{p 2}if def}ife}def
  304. end
  305. %THIS IS THE END OF THE PROLOG