%N grlin3 %F $MIR/src/grlin3.f
%D Draw a thick line (multiple strokes)
%B
      SUBROUTINE GRLIN3 (X0,Y0,X1,Y1)

 GRPCKG: draw a heavy line from (X0,Y0) to (X1,Y1) by making multiple
 strokes.  In order to simulate a thick pen, the line drawn has
 circular, rather than square, end points.  If this is not done,
 thick letters and other figures have an abnormal and unpleasant
 appearance.

 Vocabulary:

 LINEWT: the number of strokes required to draw the line; if
       this is odd, one stroke will lie along the requested vector.
       The nominal line thickness is (LINEWT-1)*0.005 in.
 RSQURD: the square of the semi-line thickness.
 (DX,DY): the vector length of the line.
 (VX,VY): a vector of length 1 pixel in the direction of the line.
 (VY,-VX): a vector of length 1 pixel perpendicular to (VX,VY).
 OFF: the offset parallel to (VY,-VX) of the K'th stroke.
 (VXK,VYK): the vector increment of the K'th stroke to allow for the
       semi-circular terminal on the line.
 (PXK,PYK): the vector offset of the K'th stroke perpendicular to the
       line vector.
