ff29e6faa49df5473ddd5ef2bec9b4c33cfa588c chmalee Tue Aug 29 15:35:31 2023 -0700 Fix new mouseover code to account for track description heights, refs #31365 diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index 0d4eb56..041d1c3 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -11272,30 +11272,35 @@ jsonObjectAdd(jsonForClient, "measureTiming", newJsonBoolean(measureTiming)); // js code needs to know if a highlightRegion is defined for this db checkAddHighlight(); // call again in case tracksDisplay's call to resolvePosition changed vars char *highlightDef = cartOptionalString(cart, "highlight"); if (highlightDef) jsonObjectAdd(jsonForClient, "highlight", newJsonString(highlightDef)); char *prevColor = cartOptionalString(cart, "prevHlColor"); if (prevColor) jsonObjectAdd(jsonForClient, "prevHlColor", newJsonString(prevColor)); jsonObjectAdd(jsonForClient, "enableHighlightingDialog", newJsonBoolean(cartUsualBoolean(cart, "enableHighlightingDialog", TRUE))); +// add the center label height if center labels are present +if (withCenterLabels) + jsonObjectAdd(jsonForClient, "centerLabelHeight", + newJsonNumber(tl.fontHeight)); + struct dyString *dy = dyStringNew(1024); jsonDyStringPrint(dy, (struct jsonElement *) jsonForClient, "hgTracks", 0); jsInline(dy->string); dyStringFree(&dy); dy = dyStringNew(1024); // do not have a JsonFile available when PDF/PS output if (enableMouseOver && isNotEmpty(mouseOverJsonFile->forCgi)) { jsonWriteObjectEnd(mouseOverJson); /* if any data was written, it is longer than 4 bytes */ if (strlen(mouseOverJson->dy->string) > 4) { FILE *trashJson = mustOpen(mouseOverJsonFile->forCgi, "w"); fputs(mouseOverJson->dy->string,trashJson);