367bd3716b507c91a37c815cfca6fc62b95cf0bf
galt
  Wed Dec 9 20:15:56 2015 -0800
cleanup

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index d5bc9c5..3bfe87b 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -4660,31 +4660,30 @@
 for (flatTrack = flatTracks; flatTrack != NULL; flatTrack = flatTrack->next)
     {
     track = flatTrack->track;
 
     if (track->limitedVis == tvHide)
 	{
 	//warn("flat track %s limitedVis==tvHide. why?", track->track); // DEBUG REMOVE
 	continue;
 	}
 
     setFlatTrackMaxHeight(flatTrack, fontHeight);
     
     }
 
 //warn("got done with flatTrack->maxHeight");
-//fflush(stdout); // DEBUG REMOVE
 
 
 // fill out track->prevTrack, and check for maxSafeHeight
 if (galtDebug)
 warn("fill out track->prevTrack, and check for maxSafeHeight");
 boolean safeHeight = TRUE;
 /* firefox on Linux worked almost up to 34,000 at the default 620 width */
 #define maxSafeHeight   32000
 struct track *prevTrack = NULL;
 for (flatTrack = flatTracks,prevTrack=NULL; flatTrack != NULL; flatTrack = flatTrack->next)
     {
     track = flatTrack->track;
     assert(track->limitedVis != tvHide);
     // ORIG int totalHeight = pixHeight+trackPlusLabelHeight(track,fontHeight);
     //warn("track %s flat maxHeight=%d", track->track, flatTrack->maxHeight); // DEBUG REMOVE
@@ -4764,67 +4763,62 @@
         theSideImg = imgBoxImageAdd(theImgBox,pngTnSide.forHtml,NULL,pixWidth, pixHeight,FALSE);
         hvgSide->rc = revCmplDisp;
         initColors(hvgSide);
         }
     }
 hvg->rc = revCmplDisp;
 initColors(hvg);
 
 /* Start up client side map. */
 hPrintf("<MAP id='map' Name=%s>\n", mapName);
 
 if (theImgBox == NULL)  // imageV2 highlighting is done by javascript. This does pdf and view-image highlight
     highlightRegion(cart, hvg, imagePixelHeight);
 
 for (window=windows; window; window=window->next)
-    {  // TODO GALT do I need to set globals here?
-    //setGlobalsFromWindow(window); // TEMP HACK DOES THIS HELP?
+    {
     /* Find colors to draw in. */
     findTrackColors(hvg, window->trackList);
     }
-//setGlobalsFromWindow(windows); // first window // TEMP HACK DOES THIS HELP? // REMOVE?
 
 
 // Good to go ahead and add all imgTracks regardless of buttons, left label, centerLabel, etc.
 if (theImgBox)
     {
     if (rulerMode != tvHide)
         {
         curImgTrack = imgBoxTrackFindOrAdd(theImgBox,NULL,RULER_TRACK_NAME,rulerMode,FALSE,
                                            IMG_FIXEDPOS); // No tdb, no centerLbl, not reorderable
         }
 
     for (flatTrack = flatTracks; flatTrack != NULL; flatTrack = flatTrack->next)
         {
         track = flatTrack->track;
 	if (!isLimitedVisHiddenForAllWindows(track))
             {
 	    //warn("hvGfxFindRgb !isLimitedVisHiddenForAllWindows(%s)", track->track);  // DEBUG REMOVE
 	    struct track *winTrack;
 	    for (winTrack=track; winTrack; winTrack=winTrack->nextWindow)
-	    //for (window=windows, winTrack=track; window; window=window->next, winTrack=winTrack->nextWindow)  // TEMP HACK DOES THIS HELP?
-		{ // TODO GALT do I need to set globals here?
+		{
 		//warn("hvGfxFindRgb (%s) winTrack labelColor=%d ixColor=%d color=%s", track->track, winTrack->labelColor, winTrack->ixColor, rgbColorToString(winTrack->color));  // DEBUG REMOVE
 		if (winTrack->labelColor == winTrack->ixColor && winTrack->ixColor == 0)
 		    {
 		    //warn("hvGfxFindRgb got here window : %s %s %s:%d-%d offset %d width %d", // DEBUG REMOVE
 			  //window->organism, window->database, window->chromName, window->winStart+1, window->winEnd, window->insideX, window->insideWidth);
-		    //setGlobalsFromWindow(window); // TEMP HACK DOES THIS HELP?
 
 		    winTrack->ixColor = hvGfxFindRgb(hvg, &winTrack->color);
 
-		    //setGlobalsFromWindow(windows); // first window // TEMP HACK DOES THIS HELP? // REMOVE?
 		    }
 		}
             int order = flatTrack->order;
             curImgTrack = imgBoxTrackFindOrAdd(theImgBox,track->tdb,NULL,track->limitedVis,
                                                isCenterLabelIncluded(track),order);
             if (trackShouldUseAjaxRetrieval(track))
                 imgTrackMarkForAjaxRetrieval(curImgTrack,TRUE);
             }
         }
     }
 
 
 /* Draw mini-buttons. */
 if (galtDebug)
 warn("Draw mini-buttons.");
@@ -5028,51 +5022,30 @@
 		if ((ynew - y) > flatTrack->maxHeight)
 		    { // TODO should be errAbort?
 		    warn("doLeftLabels(y=%d) returned new y value %d that is too high - should be %d at most.", 
 			y, ynew, flatTrack->maxHeight);
 		    }
 		}
             }
         }
     }
 else
     {
     leftLabelX = leftLabelWidth = 0;
     }
 
 
-//goto drawNow;
-
-
-//setGlobalsFromWindow(windows); // first window  //  TEMP HACK DEBUG REMOVE THIS should not be needed
-
-
-// DEBUG
-/* Draw Windows Dividers/Diffrentiators
-if (TRUE) // TODO make conditional
-    {
-
-    hvGfxSetClip(hvg, fullInsideX, 0, fullInsideWidth, pixHeight);
-
-    Color lightRed = hvGfxFindRgb(hvg, &vertWindowSeparatorColor);
-    for (window=windows->next; window; window=window->next) // skips first window because we already have a big vertical red where graphic begins.
-	hvGfxBox(hvg, window->insideX, 0, 1, pixHeight, lightRed);
-
-    hvGfxUnclip(hvg);
-    }	
-*/
-
 /* Draw guidelines. */
 if (galtDebug)
 warn("Draw guidelines");  // OR window separators in virtMode multi-window mode
 if (withGuidelines)
     {
     struct hvGfx *bgImg = hvg; // Default to the one image
     boolean exists = FALSE;
     if (theImgBox)
         {
         struct tempName gifBg;
         char base[64];
 	if (virtMode) // window separators
 	    {
 	    safecpy(base,sizeof(base),"winSeparators");  // non-reusable temp file 
 	    trashDirFile(&gifBg, "hgt", base, ".png");
@@ -5183,58 +5156,56 @@
 		safef(position, sizeof position, "%s:%d-%d", window->chromName, window->winStart+1, window->winEnd);
 		int x = window->insideX;
 		if (revCmplDisp)
 		    x = tl.picWidth - (x + window->insideWidth); 
 		imgTrackAddMapItem(curImgTrack, "#", position, 
 		    x, sliceOffsetY, x+window->insideWidth, sliceOffsetY+sliceHeight, RULER_TRACK_NAME);
 		}
 
 	    }
 
 	y = doDrawRuler(hvg,&rulerClickHeight,rulerHeight,yAfterRuler,yAfterBases,font,
 			fontHeight,rulerCds, scaleBarTotalHeight, window);
 	}
 
     setGlobalsFromWindow(windows); // first window
-    //TODO REMOVE winBaseCount = saveWinBaseCount; // TODO REMOVE later
 
     }
 
 
 
 /* Draw center labels. */
 if (galtDebug)
 warn("Draw center labels.");
 if (withCenterLabels)
     {
     setGlobalsFromWindow(windows); // use GLOBALS from first window
 
     hvGfxSetClip(hvg, fullInsideX, gfxBorder, fullInsideWidth, pixHeight - 2*gfxBorder);
     y = yAfterRuler;
     for (flatTrack = flatTracks; flatTrack != NULL; flatTrack = flatTrack->next)
         {
         track = flatTrack->track;
         if (track->limitedVis == tvHide)
             continue;
 
         if (theImgBox)
             {
             // center label slice of tracks Must always make, even if the centerLabel is empty
             sliceHeight      = fontHeight;
             sliceOffsetY     = y;
             curImgTrack = imgBoxTrackFind(theImgBox,track->tdb,NULL);
-                //warn("GTEX 6: track %s, sliceHeight=%d\n", track->shortLabel, sliceHeight);
             curSlice    = imgTrackSliceUpdateOrAdd(curImgTrack,stCenter,theOneImg,NULL,
                                                    sliceWidth[stData],sliceHeight,
                                                    sliceOffsetX[stData],sliceOffsetY);
             (void) sliceMapFindOrStart(curSlice,track->tdb->track,NULL); // No common linkRoot
             if (isCenterLabelConditional(track)) // sometimes calls track height, especially when no data there
 		{
 		//warn("isCenterLabelConditional(track)=TRUE %s", track->track);
                 imgTrackUpdateCenterLabelSeen(curImgTrack,isCenterLabelConditionallySeen(track) ?
                                                                             clNowSeen : clNotSeen);
 		}
             }
         if (trackShouldUseAjaxRetrieval(track))
 	    {
 	    //warn("trackShouldUseAjaxRetrieval(%s)", track->track); // DEBUG REMOVE
             y += REMOTE_TRACK_HEIGHT;
@@ -5247,31 +5218,30 @@
 	    // TODO GALT why do I just pass track here instead of parentTrack? Did I lose something?
 	    // have to look at old code to see.
 
 	    y = savey + flatTrack->maxHeight; // GALT
 	    }
         }
     hvGfxUnclip(hvg);
 
     setGlobalsFromWindow(windows); // first window
     }
 
 
 //warn("Start window draw: %s:%d-%d offset %d width %d", 
   //  chromName, winStart+1, winEnd, insideX, insideWidth);
 
-//drawNow: // DEBUG REMOVE
 
 /* Draw tracks. */
 
 if (galtDebug)
 warn("Draw tracks");
 
     {
     
     long lastTime = 0;
     y = yAfterRuler;
     if (measureTiming)
         lastTime = clock1000();
     for (flatTrack = flatTracks; flatTrack != NULL; flatTrack = flatTrack->next)
         {
         track = flatTrack->track;