henesyinit from p9fce6d0435 years agoHistory
128 lines · 2.6 KB · Text
RawDownload
%!% ** Copyright (C) 1989, 1990, 1992, 1994 by Aladdin Enterprises. **% ** All rights reserved. ** % Test line rendering (stroke). % Exercise the miter limit.  The left column of lines should bevel at% 90 degrees, the right column at 60 degrees. gsave1.8 setlinewidth0 setgray15 15 scale-5 5 translate[1.415 2.0] { setmiterlimit 12 0 translate 0 0 moveto   10 30 360    { gsave 5 0 rlineto rotate 2.5 0 rlineto      gsave 0 setlinewidth 1 0 0 setrgbcolor stroke grestore      strokepath 0 setlinewidth stroke      grestore      0 4 rmoveto    } for } forall showpagegrestore % Exercise all the combinations of cap and join styles% for one-line, two-line, and closed paths. gsave2.0 setmiterlimit2.0 setlinewidth6 6 scale 5 20 translate{0 1 2}				% line cap { setlinecap gsave   {0 1 2}			% line join    { setlinejoin gsave      { {3 7 lineto}	{3 7 lineto 5 1 lineto}	{3 7 lineto 5 3 lineto closepath}      }       { gsave 0 0 moveto exec         gsave stroke grestore	 0.5 setlinewidth 1 0 0 setrgbcolor stroke	 grestore 10 0 translate       } forall      grestore 35 0 translate    } forall   grestore 0 20 translate } forall showpagegrestore % Here are some boundary conditions, contributed by Mark Rawling. gsave1 setlinecap2.6 setmiterlimit3.0 setlinewidth 5 5 scale10 20 translate % [ 0.5 sqrt dup dup dup neg exch 0 0 ] concat	% 45 rotate {0 1 2}                        % line join{    setlinejoin gsave    0 0 moveto 0 10 lineto 10 0 lineto gsave stroke grestore    15 0 translate    0 0 moveto 0 10 lineto 10 20 lineto gsave stroke grestore    15 0 translate    10 0 moveto 10 10 lineto 0 20 lineto gsave stroke grestore    15 0 translate    10 0 moveto 10 10 lineto 0 0 lineto gsave stroke grestore    grestore    gsave    0 20 translate    0 20 moveto 0 10 lineto 10 20 lineto gsave stroke grestore    15 0 translate    0 20 moveto 0 10 lineto 10 0 lineto gsave stroke grestore    15 0 translate    10 20 moveto 10 10 lineto 0 0 lineto gsave stroke grestore    15 0 translate    10 20 moveto 10 10 lineto 0 20 lineto gsave stroke grestore    grestore 60 0 translate} forall showpagegrestore % Test narrow lines at a variety of angles. gsave /rad 120 def/ray { gsave rotate 0 0 moveto rad 0 rlineto stroke grestore } def/star { newpath gsave   gsave 0.5 setgray 0 0 rad 0 360 arc stroke grestore   0 90 359    { rotate       0 3 14 { ray } for      15 15 89 { ray } for    } for   grestore } def 0 setgray150 150 translate[ [ 0 0.5 1 ] [ 1.5 2 2.5 ] [ 3 3.5 4 ] ] { gsave    { setlinewidth star      250 0 translate    } forall   grestore 0 250 translate } forall grestore showpage % End quit