ea1efa744d817bb2786b3fd0083124908a60ec10 braney Tue Aug 19 14:42:23 2025 -0700 fix mouseOvers for quickLift triangles. Added hgc page for clicks on it diff --git src/hg/hgTracks/quickLift.c src/hg/hgTracks/quickLift.c index 404b622c6d3..3cc01cc8de6 100644 --- src/hg/hgTracks/quickLift.c +++ src/hg/hgTracks/quickLift.c @@ -234,36 +234,43 @@ if (!drawTriangle && isCenterLabelIncluded(tg)) { height += fontHeight; yOff -= fontHeight; } for(; hr; hr = hr->next) { unsigned int hexColor = hr->hexColor; double scale = scaleForWindow(width, seqStart, seqEnd); int x1 = xOff + scale * (hr->chromStart - seqStart); int w = scale * (hr->chromEnd - hr->chromStart); if (w == 0) w = 1; hvGfxSetClip(hvg, xOff, yOff, width, height); // we're drawing in the center label at the moment + int startX, endX; if (drawTriangle) { - drawTri(hvg, x1 + w/2 - fontHeight/2, x1 + w/2 + fontHeight/2 , yOff, hexColor); + startX = x1 + w/2 - fontHeight/2; + endX = x1 + w/2 + fontHeight/2 ; + drawTri(hvg, startX, endX , yOff, hexColor); } else - hvGfxBox(hvg, x1, yOff, w, height, hexColor); + { + startX = x1; + endX = x1 + w; + hvGfxBox(hvg, startX, yOff, w, height, hexColor); + } char mouseOver[4096]; if (hr->hexColor == highlightColors[MISMATCH_COLOR]) safef(mouseOver, sizeof mouseOver, "mismatch %.*s", hr->otherCount, hr->otherBases); else if (hr->chromStart == hr->chromEnd) safef(mouseOver, sizeof mouseOver, "deletion %ldbp (%.*s)", hr->oChromEnd - hr->oChromStart, hr->otherCount, hr->otherBases); else if (hr->oChromStart == hr->oChromEnd) safef(mouseOver, sizeof mouseOver, "insertion %ldbp", hr->chromEnd - hr->chromStart); else safef(mouseOver, sizeof mouseOver, "double %ldbp", hr->oChromEnd - hr->oChromStart); - mapBoxHc(hvg, seqStart, seqEnd, x1, yOff, width, height, tg->track, "indel", mouseOver); + mapBoxHc(hvg, seqStart, seqEnd, startX, yOff, endX - startX, height, tg->track, "indel", mouseOver); } }