gstate.ps
 %!----------------------------------------------------------------------------
 %In 'arrow', the user space is translated and rotated locally; the graphical
 %state is first saved using 'gsave', and restored after the arrow is drawn.
 %-----------------------------------------------------------------------------
 /arrow {gsave translate rotate 0.5 0 0 setrgbcolor 5 setlinewidth
         -25 0 moveto 50 0 rlineto currentpoint stroke moveto
	 0 -10 rmoveto 0 20 rlineto 20 -10 rlineto closepath fill grestore} def
  00 300 200 arrow  10 300 220 arrow  20 300 240 arrow  30 300 260 arrow
  40 300 280 arrow  50 300 300 arrow  60 300 320 arrow  60 300 340 arrow
  70 300 360 arrow  80 300 380 arrow  90 300 400 arrow 100 300 420 arrow
 110 300 430 arrow 120 300 440 arrow 130 300 460 arrow 140 300 480 arrow
 150 300 500 arrow 160 300 520 arrow 170 300 540 arrow 180 300 560 arrow
 showpage