home *** CD-ROM | disk | FTP | other *** search
/ APDL Public Domain 1 / APDL_PD1A.iso / printing / ghostscrip / _gs / ps / lines < prev    next >
Encoding:
Text File  |  1991-10-26  |  2.0 KB  |  91 lines

  1. % ** Copyright (C) 1989, 1990 by Aladdin Enterprises.  All rights reserved. **
  2.  
  3. % Test line rendering (stroke).
  4.  
  5. % Exercise all the combinations of cap and join styles
  6. % for one-line, two-line, and closed paths.
  7.  
  8. gsave
  9. 2.0 setmiterlimit
  10. 2.0 setlinewidth
  11. 8 8 scale
  12.  
  13. 5 20 translate
  14. {0 1 2}                % line cap
  15.  { setlinecap gsave
  16.    {0 1 2}            % line join
  17.     { setlinejoin gsave
  18.       { {3 7 lineto}
  19.         {3 7 lineto 5 1 lineto}
  20.     {3 7 lineto 5 3 lineto closepath}
  21.       }
  22.        { gsave 0 0 moveto exec
  23.          gsave stroke grestore
  24.      0.5 setlinewidth 1 0 0 setrgbcolor stroke
  25.      grestore 10 0 translate
  26.        } forall
  27.       grestore 35 0 translate
  28.     } forall
  29.    grestore 0 20 translate
  30.  } forall
  31.  
  32. showpage
  33. grestore
  34.  
  35. % Exercise the miter limit.  The lower row of lines should bevel at
  36. % 90 degrees, the upper at 60 degrees.
  37.  
  38. gsave
  39. 1.5 setlinewidth
  40. 0 setgray
  41. 10 10 scale
  42. 5 20 translate
  43. [1.415 2.0]
  44.  { setmiterlimit 0 10 translate 0 0 moveto
  45.    5 30 360
  46.     { gsave 2.5 0 rlineto rotate 2.5 0 rlineto stroke grestore
  47.       6.5 0 rmoveto
  48.     } for
  49.  } forall
  50.  
  51. showpage
  52. grestore
  53.  
  54. % Here are some boundary conditions, contributed by Mark Rawling.
  55.  
  56. gsave
  57. 1 setlinecap
  58. 2.6 setmiterlimit
  59. 3.0 setlinewidth
  60.  
  61. 5 5 scale
  62. 10 20 translate
  63.  
  64. % [ 0.5 sqrt dup dup dup neg exch 0 0 ] concat    % 45 rotate
  65.  
  66. {0 1 2}                        % line join
  67. {
  68.     setlinejoin gsave
  69.     0 0 moveto 0 10 lineto 10 0 lineto gsave stroke grestore
  70.     15 0 translate
  71.     0 0 moveto 0 10 lineto 10 20 lineto gsave stroke grestore
  72.     15 0 translate
  73.     10 0 moveto 10 10 lineto 0 20 lineto gsave stroke grestore
  74.     15 0 translate
  75.     10 0 moveto 10 10 lineto 0 0 lineto gsave stroke grestore
  76.     grestore
  77.     gsave
  78.     0 20 translate
  79.     0 20 moveto 0 10 lineto 10 20 lineto gsave stroke grestore
  80.     15 0 translate
  81.     0 20 moveto 0 10 lineto 10 0 lineto gsave stroke grestore
  82.     15 0 translate
  83.     10 20 moveto 10 10 lineto 0 0 lineto gsave stroke grestore
  84.     15 0 translate
  85.     10 20 moveto 10 10 lineto 0 20 lineto gsave stroke grestore
  86.     grestore 60 0 translate
  87. } forall
  88.  
  89. showpage
  90. grestore
  91.