[12165] in Athena Bugs

home help back first fref pref prev next nref lref last post

Patches for Arrow.c of Jet toolkit

daemon@ATHENA.MIT.EDU (wchuang@MIT.EDU)
Tue Jun 28 17:00:09 1994

From: wchuang@MIT.EDU
Date: Tue, 28 Jun 94 17:00:04 EDT
To: bugs@MIT.EDU


Here are some patches for the arrow directions for Arrow.c of the Jet
toolkit (diff'd against the version of the file in
/source/athena/athena.bin/dash/src/lib, which might not be the latest):

*** /source/athena/athena.bin/dash/src/lib/Arrow.c	Fri Jul  2 03:22:11 1993
--- ./Arrow.c	Tue Jun 28 16:55:23 1994
***************
*** 279,291 ****
        double len25 = length2 * .25;
        double len35 = length2 * .35;
        double len40 = length2 * .40;
  
! #define PT aj->arrow.pt
! #define PAD aj->arrow.padding
! #define len15  (len40-len25)
! #define len75  (len35+len40)
! #define len100 (len25+len75)
! #define LEN  (PAD + length2 - 1)
  
        aj->arrow.num_pts = 8;
  
--- 279,294 ----
        double len25 = length2 * .25;
        double len35 = length2 * .35;
        double len40 = length2 * .40;
+       double len85 = length2 * .85;
  
! #define PT     aj->arrow.pt
! #define PAD    aj->arrow.padding
! #define len15  (len40 - len25)
! #define len60  (len85 - len25)
! #define len65  (len40 + len25)
! #define len75  (len40 + len35)
! #define len100 (length2)
! #define LEN    (length2 - PAD - 1)
  
        aj->arrow.num_pts = 8;
  
***************
*** 297,313 ****
  	case 1:		/* northeast */
  	case 3:		/* southeast */
  	  PT[0].x = PT[7].x = PAD + len15;
! 	  PT[1].x = PAD + len40;
! 	  PT[2].x = PAD;
! 	  PT[3].x = PAD + len35;
! 	  PT[4].x = PAD + len75;
! 	  PT[5].x = PT[6].x = PAD + length2;
  	  break;
  
  	case 5:		/* southwest */
- 	  break;
- 
  	case 7:		/* northwest */
  	  break;
  	}
  
--- 300,320 ----
  	case 1:		/* northeast */
  	case 3:		/* southeast */
  	  PT[0].x = PT[7].x = PAD + len15;
! 	  PT[1].x =           PAD + len40;
! 	  PT[2].x =           PAD;
! 	  PT[3].x =           PAD + len35;
! 	  PT[4].x =           PAD + len75;
! 	  PT[5].x = PT[6].x = LEN;
  	  break;
  
  	case 5:		/* southwest */
  	case 7:		/* northwest */
+ 	  PT[0].x = PT[7].x = PAD + len85;
+ 	  PT[1].x =           PAD + len60;
+ 	  PT[2].x =           LEN;
+ 	  PT[3].x =           PAD + len65;
+ 	  PT[4].x =           PAD + len25;
+ 	  PT[5].x = PT[6].x = PAD;
  	  break;
  	}
  
***************
*** 317,341 ****
        switch (aj->arrow.direction)
  	{
  	case 1:		/* northeast */
! 	  PT[0].y = PT[6].y = PT[7].y = LEN - len100;
! 	  PT[1].y = LEN - len75;
! 	  PT[2].y = LEN - len35;
  	  PT[3].y = LEN;
! 	  PT[4].y = LEN - len40;
! 	  PT[5].y = LEN - len15 /*len40 + len25*/;
  	  break;
  
  	case 3:		/* southeast */
! 	  PT[0].y = PT[6].y = PT[7].y = PAD + len100;
  	  PT[1].y = PAD + len75;
  	  PT[2].y = PAD + len35;
  	  PT[3].y = PAD;
  	  PT[4].y = PAD + len40;
  	  PT[5].y = PAD + len15;
- 	  break;
- 
- 	case 2:		/* east */
- 	case 6:		/* west */
  	  break;
  	}
  
--- 324,346 ----
        switch (aj->arrow.direction)
  	{
  	case 1:		/* northeast */
! 	case 7:         /* northwest */
! 	  PT[0].y = PT[6].y = PT[7].y = PAD;
! 	  PT[1].y = PAD + len25;
! 	  PT[2].y = PAD + len65;
  	  PT[3].y = LEN;
! 	  PT[4].y = PAD + len60;
! 	  PT[5].y = PAD + len85;
  	  break;
  
  	case 3:		/* southeast */
! 	case 5:         /* southwest */
! 	  PT[0].y = PT[6].y = PT[7].y = LEN;
  	  PT[1].y = PAD + len75;
  	  PT[2].y = PAD + len35;
  	  PT[3].y = PAD;
  	  PT[4].y = PAD + len40;
  	  PT[5].y = PAD + len15;
  	  break;
  	}
  

home help back first fref pref prev next nref lref last post