(FILECREATED "22-Jan-85 08:04:31" {PHYLUM}<BOBROW>LISP>DASHINGPATCH.;1 2215   

      changes to:  (VARS DASHINGPATCHCOMS)
		   (FNS NEWDRAWLINE DRAWDASHEDLINE))


(* Copyright (c) 1985 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT DASHINGPATCHCOMS)

(RPAQQ DASHINGPATCHCOMS [(FNS NEWDRAWLINE DRAWDASHEDLINE)
			 (P (MOVD (QUOTE DRAWLINE)
				  (QUOTE OLDDRAWLINE))
			    (MOVD (QUOTE NEWDRAWLINE)
				  (QUOTE DRAWLINE])
(DEFINEQ

(NEWDRAWLINE
  [LAMBDA (X1 Y1 X2 Y2 WIDTH OPERATION STREAM COLOR DASHING)
                                                             (* dgb: "22-Jan-85 07:45")
    (COND
      (DASHING (DRAWDASHEDLINE X1 Y1 X2 Y2 WIDTH OPERATION STREAM COLOR DASHING))
      (T (OLDDRAWLINE X1 Y1 X2 Y2 WIDTH OPERATION STREAM COLOR DASHING])

(DRAWDASHEDLINE
  [LAMBDA (X1 Y1 X2 Y2 WIDTH OPERATION STREAM COLOR DASHING)
                                                             (* dgb: "22-Jan-85 07:43")
    (PROG ((DASHON T)
	   (DASHTAIL DASHING)
	   DASHCNT
	   (ADJACENT (IDIFFERENCE X2 X1))
	   (OPPOSITE (IDIFFERENCE Y2 Y1))
	   (LENGTHDRAWN 0)
	   NEWX NEWY LINELENGTH SINE COSINE)
          [SETQ LINELENGTH (FIX (SQRT (IPLUS (ITIMES ADJACENT ADJACENT)
					     (ITIMES OPPOSITE OPPOSITE]
          (SETQ SINE (FQUOTIENT OPPOSITE LINELENGTH))
          (SETQ COSINE (FQUOTIENT ADJACENT LINELENGTH))
          (while (ILESSP LENGTHDRAWN LINELENGTH)
	     do (SETQ DASHCNT (CAR DASHTAIL))
		(SETQ DASHTAIL (CDR DASHTAIL))
		(add LENGTHDRAWN DASHCNT)
		(SETQ NEWX (FPLUS X1 (FTIMES COSINE DASHCNT)))
		(SETQ NEWY (FPLUS Y1 (FTIMES SINE DASHCNT)))
		(if DASHON
		    then (OLDDRAWLINE X1 Y1 NEWX NEWY WIDTH OPERATION STREAM COLOR)
		  else (RELMOVETO NEWX NEWY STREAM))
		(SETQ DASHON (NOT DASHON))
		(SETQ X1 NEWX)
		(SETQ Y1 NEWY)
		(if (NULL DASHTAIL)
		    then (SETQ DASHTAIL DASHING])
)
(MOVD (QUOTE DRAWLINE)
      (QUOTE OLDDRAWLINE))
(MOVD (QUOTE NEWDRAWLINE)
      (QUOTE DRAWLINE))
(PUTPROPS DASHINGPATCH COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (448 2032 (NEWDRAWLINE 458 . 804) (DRAWDASHEDLINE 806 . 2030)))))
STOP