51dfe6b3d4acfb1caafbee15bfdba3ea1f18fd43 braney Mon Jun 30 15:55:01 2025 -0700 ongoing work on liftOver diff --git src/hg/hgTracks/chainTrack.c src/hg/hgTracks/chainTrack.c index b22fff22c07..efeee84c0ca 100644 --- src/hg/hgTracks/chainTrack.c +++ src/hg/hgTracks/chainTrack.c @@ -330,30 +330,31 @@ { int temp; temp = sf->qStart; sf->qStart = lf->qSize - sf->qEnd; sf->qEnd = lf->qSize - temp; } } } if (tg->isBigBed) bbiFileClose(&bbClosure.bbi); else hFreeConn(&sqlClosure.conn); } +#ifdef NOTFORNOW static void denseChainReverse(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 dense chain in a mode that only shows the gaps. */ { hvGfxSetClip(hvgSide, insideX, yOff, insideWidth, tg->height); struct slList *item; int y = yOff; double scale = scaleForWindow(width, seqStart, seqEnd); int heightPer = tg->heightPer; color = hvGfxFindRgb(hvg, &undefinedYellowColor); for (item = tg->items; item != NULL; item = item->next) { struct linkedFeatures *lf = (struct linkedFeatures *)item; struct simpleFeature *sf = lf->components; @@ -378,45 +379,46 @@ mapBoxHgcOrHgGene(hvg, winStart, winEnd, xOff, yOff, insideWidth, heightPer, tg->track, lf->extra, "Go to hg38", NULL, TRUE, NULL); struct simpleFeature *prev = NULL; for (; sf; sf = sf->next) { unsigned s = sf->start; if (prev) { if (prev->qEnd != sf->qStart) drawScaledBox(hvg, s, s, scale, xOff, y, heightPer, color); } prev = sf; } } } +#endif void chainDraw(struct track *tg, int seqStart, int seqEnd, struct hvGfx *hvg, int xOff, int yOff, int width, MgFont *font, Color color, enum trackVisibility vis) /* Draw chained features. This loads up the simple features from * the chainLink table, calls linkedFeaturesDraw, and then * frees the simple features again. */ { if (tg->items == NULL) /*Exit Early if nothing to do */ return; char *chainType = trackDbSetting(tg->tdb, "chainType"); if ((chainType != NULL) && (vis == tvDense) ) - denseChainReverse(tg, seqStart, seqEnd, hvg, xOff, yOff, width, + maybeDrawQuickLiftLines( tg, seqStart, seqEnd, hvg, xOff, yOff, width, font, color, vis); else linkedFeaturesDraw(tg, seqStart, seqEnd, hvg, xOff, yOff, width, font, color, vis); } void bigChainLoadItems(struct track *tg) /* Load up all of the chains from correct table into tg->items * item list. At this stage to conserve memory for other tracks * we don't load the links into the components list until draw time. */ { boolean doSnake = cartOrTdbBoolean(cart, tg->tdb, "doSnake" , FALSE); struct linkedFeatures *list = NULL, *lf; int qs; char *optionChrStr;