src/hg/hgTracks/simpleTracks.c 1.138
1.138 2010/05/07 05:07:57 kent
Code to get container multiWig to go.
Index: src/hg/hgTracks/simpleTracks.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/simpleTracks.c,v
retrieving revision 1.137
retrieving revision 1.138
diff -b -B -U 4 -r1.137 -r1.138
--- src/hg/hgTracks/simpleTracks.c 27 Apr 2010 20:28:28 -0000 1.137
+++ src/hg/hgTracks/simpleTracks.c 7 May 2010 05:07:57 -0000 1.138
@@ -2233,8 +2233,22 @@
chromosomeColorsMade = TRUE;
}
+void rFindSubtrackColors(struct hvGfx *hvg, struct track *trackList)
+/* Find colors of subtracks and their children */
+{
+struct track *subtrack;
+for (subtrack = trackList; subtrack != NULL; subtrack = subtrack->next)
+ {
+ if (!isSubtrackVisible(subtrack))
+ continue;
+ subtrack->ixColor = hvGfxFindRgb(hvg, &subtrack->color);
+ subtrack->ixAltColor = hvGfxFindRgb(hvg, &subtrack->altColor);
+ rFindSubtrackColors(hvg, subtrack->subtracks);
+ }
+}
+
void findTrackColors(struct hvGfx *hvg, struct track *trackList)
/* Find colors to draw in. */
{
struct track *track;
@@ -2243,20 +2257,9 @@
if (track->limitedVis != tvHide)
{
track->ixColor = hvGfxFindRgb(hvg, &track->color);
track->ixAltColor = hvGfxFindRgb(hvg, &track->altColor);
- if (tdbIsComposite(track->tdb))
- {
- struct track *subtrack;
- for (subtrack = track->subtracks; subtrack != NULL;
- subtrack = subtrack->next)
- {
- if (!isSubtrackVisible(subtrack))
- continue;
- subtrack->ixColor = hvGfxFindRgb(hvg, &subtrack->color);
- subtrack->ixAltColor = hvGfxFindRgb(hvg, &subtrack->altColor);
- }
- }
+ rFindSubtrackColors(hvg, track->subtracks);
}
}
}
@@ -9022,9 +9025,9 @@
tg->height = 0;
tg->limitedVis = tvHide;
return tvHide;
}
- if (trackIsCompositeWithSubtracks(tg))
+ if (tg->subtracks != NULL)
{
struct track *subtrack;
int subCnt = subtrackCount(tg->subtracks);
maxHeight = maxHeight * max(subCnt,1);