home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 April / PCWorld_2001-04_cd.bin / Software / Vyzkuste / gs / gs650w32.exe / gs6.50 / lib / markpath.ps < prev    next >
Text File  |  2000-12-05  |  2KB  |  62 lines

  1. %    Copyright (C) 1993 Aladdin Enterprises.  All rights reserved.
  2. % This file is part of AFPL Ghostscript.
  3. % AFPL Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author or
  4. % distributor accepts any responsibility for the consequences of using it, or
  5. % for whether it serves any particular purpose or works at all, unless he or
  6. % she says so in writing.  Refer to the Aladdin Free Public License (the
  7. % "License") for full details.
  8. % Every copy of AFPL Ghostscript must include a copy of the License, normally
  9. % in a plain ASCII text file named PUBLIC.  The License grants you the right
  10. % to copy, modify and redistribute AFPL Ghostscript, but only under certain
  11. % conditions described in the License.  Among other things, the License
  12. % requires that the copyright notice and this notice be preserved on all
  13. % copies.
  14.  
  15. % $Id: markpath.ps,v 1.2 2000/09/19 18:29:11 lpd Exp $
  16. % markpath.ps
  17. % Mark the corners of a path, drawing it slowly if desired.
  18.  
  19. /Delay where { pop } { /Delay 0 def } ifelse
  20. /setxy0
  21.  { currentpoint /y0 exch def /x0 exch def
  22.  } def
  23. /bip
  24.  { epsx epsy idtransform /ey exch def /ex exch def
  25.    currentpoint ex 2 div ey 2 div rlineto currentpoint 0 ey neg rlineto
  26.    ex neg 0 rlineto 0 ey rlineto lineto lineto
  27.    stroke
  28.  } def
  29. /dally
  30.  { Delay { } repeat
  31.    Delay 0 ne { flushpage } if
  32.  } def
  33. /movebip
  34.  { /xs 2 index def /ys 1 index def
  35.    gsave newpath mpmx transform moveto setxy0 bip grestore
  36.  } def
  37. /linebip
  38.  { gsave newpath x0 y0 moveto mpmx transform lineto setxy0 bip dally grestore
  39.  } def
  40. /curvebip
  41.  { gsave newpath x0 y0 moveto 5 index 5 index mpmx transform lineto bip
  42.    2 copy mpmx transform moveto 3 index 3 index mpmx transform lineto bip
  43.    x0 y0 moveto
  44.    3 { mpmx transform 6 2 roll } repeat
  45.    curveto setxy0 bip dally grestore
  46.  } def
  47. /closebip
  48.  { xs ys linebip
  49.  } def
  50.  
  51. /markpath        % <matrix> markpath -
  52.  { /mpmx exch def 
  53.    gsave initgraphics 9 dup dtransform grestore
  54.      /epsy exch def   /epsx exch def
  55.    gsave 0 setlinewidth
  56.     { movebip } { linebip } { curvebip } { closebip } pathforall
  57.    grestore
  58.  } def
  59.