src/hg/hgTracks/bamTrack.c 1.30
1.30 2010/03/10 05:07:57 angie
When item labels are suppressed, we still need to draw the leftLabel in dense mode (shortLabel).
Index: src/hg/hgTracks/bamTrack.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/bamTrack.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -b -B -U 4 -r1.29 -r1.30
--- src/hg/hgTracks/bamTrack.c 4 Mar 2010 05:14:13 -0000 1.29
+++ src/hg/hgTracks/bamTrack.c 10 Mar 2010 05:07:57 -0000 1.30
@@ -618,13 +618,22 @@
prevEnd = lf->end;
}
}
-static void dontDrawLeftLabels(struct track *tg, int seqStart, int seqEnd, struct hvGfx *hvg,
+static void maybeDrawLeftLabels(struct track *tg, int seqStart, int seqEnd, struct hvGfx *hvg,
int xOff, int yOff, int width, int height, boolean withCenterLabels,
MgFont *font, Color color, enum trackVisibility vis)
-/* Allow left labels to be inhibited by tdb and/or cart. */
+/* If this is invoked, we are hiding item labels. In full mode, that means no left labels.
+ * In dense mode, we do need the left label to show shortLabel. */
{
+if (tg->limitedVis == tvDense)
+ {
+ int fontHeight = mgFontLineHeight(font);
+ if (isWithCenterLabels(tg))
+ yOff += fontHeight;
+ hvGfxTextRight(hvg, xOff, yOff, width, tg->lineHeight, color, font, tg->shortLabel);
+ }
+return;
}
void bamMethods(struct track *track)
@@ -640,9 +649,9 @@
boolean compositeLevel = isNameAtCompositeLevel(track->tdb, BAM_PAIR_ENDS_BY_NAME);
boolean isPaired = cartUsualBooleanClosestToHome(cart, track->tdb, compositeLevel,
BAM_PAIR_ENDS_BY_NAME,
(trackDbSettingClosestToHome(track->tdb, BAM_PAIR_ENDS_BY_NAME) != NULL));
-char *tdbShowNames = trackDbSettingClosestToHome(track->tdb, BAM_SHOW_NAMES);
+char *tdbShowNames = trackDbSetting(track->tdb, BAM_SHOW_NAMES);
boolean showNames = cartUsualBooleanClosestToHome(cart, track->tdb, compositeLevel,
BAM_SHOW_NAMES, !sameOk(tdbShowNames, "off"));
char *colorMode = cartOrTdbString(cart, track->tdb, BAM_COLOR_MODE, BAM_COLOR_MODE_DEFAULT);
char *userTag = cartOrTdbString(cart, track->tdb, BAM_COLOR_TAG, BAM_COLOR_TAG_DEFAULT);
@@ -671,9 +680,9 @@
}
if (!showNames)
{
track->drawName = TRUE; // ironic, but this is how to suppress item labels in pack mode.
- track->drawLeftLabels = dontDrawLeftLabels;
+ track->drawLeftLabels = maybeDrawLeftLabels;
}
track->nextItemButtonable = track->nextExonButtonable = FALSE;
track->nextPrevItem = NULL;