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,