bef70d92d101ef9ddab6313c4e680595fb160ef6
larrym
  Tue Mar 29 18:06:50 2011 -0700
restore winStart and winEnd values in hgc links (see redmine 2456)
diff --git src/hg/hgTracks/expRatioTracks.c src/hg/hgTracks/expRatioTracks.c
index e740161..e179cda 100644
--- src/hg/hgTracks/expRatioTracks.c
+++ src/hg/hgTracks/expRatioTracks.c
@@ -1408,42 +1408,46 @@
 int totalHeight;
 marrays = tg->items;
 if (!marrays || !marrays->features)
     errAbort("Somethings wrong with making the mapboxes for a microarray track.");
 probes = marrays->features;
 nProbes = slCount(probes);
 nExps = slCount(marrays);
 totalHeight = nExps * lineHeight;
 if ((nProbes > MICROARRAY_CLICK_LIMIT) &&
     !(sameString(tg->table, "expRatioUCSFDemo") || sameString(tg->table, "cnvLungBroadv2")  || sameString(tg->table, "CGHBreastCancerUCSF")  || sameString(tg->table, "expBreastCancerUCSF")) )
     {
     int xOffRc = hvGfxAdjXW(hvg, xOff, insideWidth);
     if(theImgBox && curImgTrack)
         {
         char link[512];
-        safef(link,sizeof(link),"%s&g=%s&i=zoomInMore",hgcNameAndSettings(), tg->track); // NOTE: winStart,winEnd removed due to portal
+#if defined(IMAGEv2_DRAG_SCROLL_SZ) && (IMAGEv2_DRAG_SCROLL_SZ > 1)
+        // Tim isn't sure what to do here if/when we implement drag scroll.
+        warn("Tim take a look at this link and whether it needs different winStart and winEnd values with dragScroll > 1.");
+#endif
+        safef(link,sizeof(link),"%s&o=%d&t=%d&g=%s&i=zoomInMore", hgcNameAndSettings(), seqStart, seqEnd, tg->track);
         #ifdef IMAGEv2_SHORT_MAPITEMS
             if(xOffRc < insideX && xOffRc+insideWidth > insideX)
                 warn("expRatioMapBoxes(%s) map item spanning slices. LX:%d TY:%d RX:%d BY:%d  link:[%s]",tg->track,xOffRc, y, xOffRc+insideWidth, y+totalHeight, link);
         #endif//def IMAGEv2_SHORT_MAPITEMS
         imgTrackAddMapItem(curImgTrack,link,"zoomInMore",xOffRc, y, xOffRc+insideWidth, y+totalHeight, tg->track);
         }
     else
         {
         hPrintf("<AREA SHAPE=RECT COORDS=\"%d,%d,%d,%d\" ", xOffRc, y, xOffRc+insideWidth, y+totalHeight);
-        hPrintf("HREF=\"%s&g=%s&c=%s&l=%d&r=%d&db=%s&i=zoomInMore\" ",
-            hgcNameAndSettings(), tg->track, chromName, winStart, winEnd, database);
+        hPrintf("HREF=\"%s&o=%d&t=%d&g=%s&c=%s&l=%d&r=%d&db=%s&i=zoomInMore\" ",
+                hgcNameAndSettings(), seqStart, seqEnd, tg->track, chromName, winStart, winEnd, database);
         hPrintf("TITLE=\"zoomInMore\">\n");
         }
      }
 else
     {
     struct linkedFeatures *probe;
     for (probe = probes; probe != NULL; probe = probe->next)
 	{
 	int x1 = round((double)((int)probe->start-winStart)*scale);
 	int x2 = round((double)((int)probe->end-winStart)*scale);
 	int w;
 	if (x1 < 0)
 	    x1 = 0;
 	if (x2 > insideWidth-1)
 	    x2 = insideWidth-1;