d6350cf4a7f0802301568b4aba4b3ee5adccb5fa kate Fri Mar 9 10:34:18 2018 -0800 Improve dense mode. It now shows end points full height (like long range track). refs #17512 diff --git src/hg/hgTracks/interactTrack.c src/hg/hgTracks/interactTrack.c index e92a3ee..2b5f8bc 100644 --- src/hg/hgTracks/interactTrack.c +++ src/hg/hgTracks/interactTrack.c @@ -35,38 +35,40 @@ void interactLoadItems(struct track *tg) /* Load all interact items in region */ { loadSimpleBedWithLoader(tg, (bedItemLoader)interactLoad); } static void interactDrawItems(struct track *tg, int seqStart, int seqEnd, struct hvGfx *hvg, int xOff, int yOff, int width, MgFont *font, Color color, enum trackVisibility vis) /* Draw a list of interact structures. */ { #define DRAW_LINE 0 #define DRAW_CURVE 1 #define DRAW_ELLIPSE 2 +int draw = DRAW_LINE; +if (vis != tvDense) + { char *drawMode = cartUsualStringClosestToHome(cart, tg->tdb, FALSE, INTERACT_DRAW, INTERACT_DRAW_DEFAULT); -int draw = DRAW_LINE; if (sameString(drawMode, INTERACT_DRAW_CURVE)) draw = DRAW_CURVE; else if (sameString(drawMode, INTERACT_DRAW_ELLIPSE)) draw = DRAW_ELLIPSE; - + } boolean isDirectional = interactUiDirectional(tg->tdb); double scale = scaleForWindow(width, seqStart, seqEnd); struct interact *inters = tg->items; unsigned int maxWidth = 0; struct interact *inter; char buffer[1024]; char itemBuf[2048]; safef(buffer, sizeof buffer, "%s.%s", tg->tdb->track, INTERACT_MINSCORE); // Determine if there are mixed inter and intra-chromosomal // Suppress interchromosomal labels if they overlap int nSame = 0, nOther = 0; int prevLabelEnd = 0, prevLabelStart = 0; char *prevLabel = 0;