6035ae51559998e5f45beeb52d371498622d639d kate Fri Mar 9 10:58:57 2018 -0800 Additional detail on dense mode: highlight cross-chrom items by coloring magenta. refs #17512 diff --git src/hg/hgTracks/interactTrack.c src/hg/hgTracks/interactTrack.c index 34f6481..8ade8cb 100644 --- src/hg/hgTracks/interactTrack.c +++ src/hg/hgTracks/interactTrack.c @@ -108,34 +108,33 @@ int fontHeight = vgGetFontPixelHeight(hvg->vg, font); int otherHeight = (nOther) ? 3 * fontHeight : 0; int sameHeight = (nSame) ? tg->height - otherHeight: 0; // Draw items for (inter=inters; inter; inter=inter->next) { char *otherChrom = interactOtherChrom(inter); safef(itemBuf, sizeof itemBuf, "%s", inter->name); struct dyString *ds = dyStringNew(0); dyStringPrintf(ds, "%s", inter->name); if (inter->score) dyStringPrintf(ds, " %d", inter->score); char *statusBuf = dyStringCannibalize(&ds); - if (vis == tvDense && interactOtherChrom(inter)) - color = MG_MAGENTA; - else color = interactItemColor(tg, inter, hvg); + if (vis == tvDense && interactOtherChrom(inter) && color == MG_BLACK) + color = MG_MAGENTA; // TODO: simplify by using start/end instead of center and width // This is a holdover from longRange track implementation unsigned lowStart, lowEnd, highStart, highEnd; if (otherChrom) { lowStart = highStart = inter->chromStart; lowEnd = highEnd = inter->chromEnd; } else if (inter->sourceStart < inter->targetStart) { lowStart = inter->sourceStart; lowEnd = inter->sourceEnd; highStart = inter->targetStart; highEnd = inter->targetEnd;