(FILECREATED " 1-May-87 18:49:03" {QV}<NOTECARDS>1.3K>NEXT>RHTPATCH252.;3 5312   

      changes to:  (VARS RHTPATCH252COMS)
		   (FNS NC.DrawFlowerLink)

      previous date: " 1-May-87 14:54:46" {QV}<NOTECARDS>1.3K>NEXT>RHTPATCH252.;1)


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

(PRETTYCOMPRINT RHTPATCH252COMS)

(RPAQQ RHTPATCH252COMS ((* * Fixes two erroneous mentions of non-local vars discovered via Peggy's 
			     index.)
			  (DECLARE: FIRST (P (NC.LoadFileFromDirectories (QUOTE NCCOMPACT))))
			  (DECLARE: FIRST (P (NC.LoadFileFromDirectories (QUOTE NCBROWSERCARD))))
			  (* * Change to NCCOMPACT)
			  (FNS NC.CopySortedCardPart)
			  (* * Change to NCBROWSERCARD)
			  (FNS NC.DrawFlowerLink)))
(* * Fixes two erroneous mentions of non-local vars discovered via Peggy's index.)

(DECLARE: FIRST 
(NC.LoadFileFromDirectories (QUOTE NCCOMPACT))
)
(DECLARE: FIRST 
(NC.LoadFileFromDirectories (QUOTE NCBROWSERCARD))
)
(* * Change to NCCOMPACT)

(DEFINEQ

(NC.CopySortedCardPart
  (LAMBDA (SortingRecord ToNoteFile InterestedWindow)        (* rht: " 1-May-87 14:46")

          (* * Copy some portion of a card; title, links, substance, proplist, to ptr in Stream and update index 
	  accordingly.)



          (* * fkr 11/8/85: No longer worries about link labels part. Also updated to hadle new CradID and NoteFileobject.)



          (* * kirk 23Nov85: restructured to reduce redundant code)



          (* * rht 1/22/87: Added InterestedWindow arg.)



          (* * rht 5/1/87: Changed mention of FromNoteFile to ToNoteFile.)


    (WITH.MONITOR (NC.FetchMonitor ToNoteFile)
		  (LET ((FromPtr (fetch (SortingRecord FileLoc) of SortingRecord))
			(Card (fetch (SortingRecord Card) of SortingRecord))
			(CardPartTypeNum (fetch (SortingRecord CardPartTypeNum) of SortingRecord))
			(ToStream (fetch (NoteFile Stream) of ToNoteFile))
			ToPtr)
		       (SETQ ToPtr (GETFILEPTR ToStream))
		       (if (NC.CopyCardPart (fetch (NoteFile Stream)
						   of (fetch (Card NoteFile) of Card))
						ToStream FromPtr ToPtr InterestedWindow)
			   then (NC.UpdateCardLoc Card CardPartTypeNum ToPtr))))))
)
(* * Change to NCBROWSERCARD)

(DEFINEQ

(NC.DrawFlowerLink
  (LAMBDA (X1 Y1 X2 Y2 Brush Dashing Num Win Width Operation Color)
                                                             (* rht: " 1-May-87 14:55")

          (* * Draw one link between given points according to given Dashing. If Num is 0, then draw straight line.
	  Otherwise, draw curves above for odd Num and below for even Num, getting wider for bigger values of Num.)



          (* * rht 3/21/86: Now checks for WINDOWPROP of Scale for when we're in a browser overview window.)



          (* * rht 5/1/87: Changed bogus mention of "Stream" to "Win.")


    (DECLARE (GLOBALVARS NC.ArrowHeadsInBrowser NC.GraphFlowerLinkSeparation))
    (PROG ((MidpointX (QUOTIENT (IPLUS X1 X2)
				    2))
	     (MidpointY (QUOTIENT (IPLUS Y1 Y2)
				    2))
	     XOffset YOffset Scale Window WindowScale)
	    (COND
	      ((ZEROP Num)
		(DRAWLINE X1 Y1 X2 Y2 Width Operation Win Color Dashing)
		(AND (NEQ NC.ArrowHeadsInBrowser (QUOTE None))
		       (NC.DrawArrowHead X1 Y1 X2 Y2 Width Operation Win Color T)))
	      (T                                             (* Check slope of line. If < 45 degrees, then make 
							     spline nodes be vertically removed, otherwise 
							     horizontally removed.)
		 (COND
		   ((GREATERP (ABS (DIFFERENCE X2 X1))
				(ABS (DIFFERENCE Y2 Y1)))
		     (SETQ YOffset (COND
			 ((ODDP Num)
			   (TIMES NC.GraphFlowerLinkSeparation (QUOTIENT (ADD1 Num)
									     2)))
			 (T (MINUS (TIMES NC.GraphFlowerLinkSeparation (QUOTIENT (ADD1 Num)
										       2))))))
		     (SETQ XOffset 0))
		   (T (SETQ XOffset (COND
			  ((ODDP Num)
			    (TIMES NC.GraphFlowerLinkSeparation (QUOTIENT (ADD1 Num)
									      2)))
			  (T (MINUS (TIMES NC.GraphFlowerLinkSeparation (QUOTIENT (ADD1
											  Num)
											2))))))
		      (SETQ YOffset 0)))
		 (SETQ Scale (DSPSCALE NIL Win))
		 (SETQ Window (AND (DISPLAYSTREAMP Win)
				       (WINDOWP (WFROMDS Win))))
		 (if (AND Window (SETQ WindowScale (WINDOWPROP Window (QUOTE Scale))))
		     then (SETQ Scale (FTIMES Scale WindowScale)))
		 (SETQ XOffset (FIXR (TIMES XOffset Scale)))
		 (SETQ YOffset (FIXR (TIMES YOffset Scale)))
		 (DRAWLINE X1 Y1 (PLUS MidpointX XOffset)
			     (PLUS MidpointY YOffset)
			     Width Operation Win NIL Dashing)
		 (DRAWLINE (PLUS MidpointX XOffset)
			     (PLUS MidpointY YOffset)
			     X2 Y2 Width Operation Win NIL Dashing)
		 (AND (NEQ NC.ArrowHeadsInBrowser (QUOTE None))
			(NC.DrawArrowHead X1 Y1 (PLUS MidpointX XOffset)
					    (PLUS MidpointY YOffset)
					    Width Operation Win Color NIL)))))))
)
(PUTPROPS RHTPATCH252 COPYRIGHT ("Xerox Corporation" 1987))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (1004 2271 (NC.CopySortedCardPart 1014 . 2269)) (2308 5230 (NC.DrawFlowerLink 2318 . 
5228)))))
STOP