src/hg/hgTracks/hgTracks.c 1.1609

1.1609 2009/12/01 05:49:35 kent
Moving a few bigBed-specific functions from bedTrack.c to new modulc bigBedTrack.c Making bigBeds in dense mode do drawing by querying summary rather than going through itemList. Making it so that it only loads maxItems+1 (251 by default) items before flipping to dense. Making it draw density plot in grayscale if denseCoverage is set. Net result should be reduced bigBed i/o when zoomed out.
Index: src/hg/hgTracks/hgTracks.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/hgTracks.c,v
retrieving revision 1.1608
retrieving revision 1.1609
diff -b -B -U 4 -r1.1608 -r1.1609
--- src/hg/hgTracks/hgTracks.c	19 Nov 2009 18:05:09 -0000	1.1608
+++ src/hg/hgTracks/hgTracks.c	1 Dec 2009 05:49:35 -0000	1.1609
@@ -1696,13 +1696,20 @@
                 enum trackVisibility vis = limitedVisFromComposite(subtrack);
                 if(subtrack->visibility != vis)
                     {
                     subtrack->visibility = vis;
-                    subtrack->limitedVis = tvMin(track->visibility,subtrack->visibility);
+		    if (subtrack->limitedVisSet)
+		        {
+			subtrack->limitedVis = tvMin(vis, subtrack->limitedVis);
+			}
+		    else
+			{
+			subtrack->limitedVis = tvMin(vis,subtrack->visibility);
                     subtrack->limitedVisSet = (subtrack->limitedVis != tvHide && subtrack->visibility != subtrack->limitedVis);
                     }
                 }
             }
+            }
         if (maxSafeHeight < (pixHeight+trackPlusLabelHeight(track,fontHeight)))
             {
             char numBuf[SMALLBUF];
             sprintLongWithCommas(numBuf, maxSafeHeight);