src/hg/hgTracks/multiWig.c 1.2

1.2 2010/05/09 17:27:11 kent
Making calculations that all wigs below share same limits work better.
Index: src/hg/hgTracks/multiWig.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/multiWig.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -B -U 4 -r1.1 -r1.2
--- src/hg/hgTracks/multiWig.c	7 May 2010 22:30:14 -0000	1.1
+++ src/hg/hgTracks/multiWig.c	9 May 2010 17:27:11 -0000	1.2
@@ -27,24 +27,30 @@
 {
 int totalHeight =  wigTotalHeight(tg, vis);
 struct track *subtrack;
 for (subtrack = tg->subtracks; subtrack != NULL; subtrack = subtrack->next)
+    if (isSubtrackVisible(subtrack))
     subtrack->totalHeight(subtrack, vis);
 return totalHeight;
 }
 
 static boolean graphLimitsAllSame(struct track *trackList)
 /* Return TRUE if graphUpperLimit and graphLowerLimit same for all tracks. */
 {
-struct track *firstTrack = trackList;
-if (firstTrack == NULL)
-    return FALSE;
+struct track *firstTrack = NULL;
 struct track *track;
-for (track = firstTrack->next; track != NULL; track = track->next)
-    if (track->graphUpperLimit != firstTrack->graphUpperLimit 
+for (track = trackList; track != NULL; track = track->next)
+    {
+    if (isSubtrackVisible(track))
+        {
+	if (firstTrack == NULL)
+	    firstTrack = track;
+	else if (track->graphUpperLimit != firstTrack->graphUpperLimit 
       || track->graphLowerLimit != firstTrack->graphLowerLimit)
         return FALSE;
-return TRUE;
+	}
+    }
+return firstTrack != NULL;
 }
 
 static void multiWigLeftLabels(struct track *tg, int seqStart, int seqEnd,
 	struct hvGfx *hvg, int xOff, int yOff, int width, int height,