src/hg/hgTracks/hgTracks.c 1.1567

1.1567 2009/05/28 21:57:49 hiram
Do not allow ruler chrom name to spill over into buttons on left, truncate chrom name until it fits properly
Index: src/hg/hgTracks/hgTracks.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/hgTracks.c,v
retrieving revision 1.1566
retrieving revision 1.1567
diff -b -B -U 4 -r1.1566 -r1.1567
--- src/hg/hgTracks/hgTracks.c	15 May 2009 17:02:32 -0000	1.1566
+++ src/hg/hgTracks/hgTracks.c	28 May 2009 21:57:49 -0000	1.1567
@@ -1736,15 +1736,26 @@
 	    }
 	if (baseShowRuler)
 	    {
 	    char rulerLabel[SMALLBUF];
+	    char *shortChromName = cloneString(chromName);
+	    safef(rulerLabel,ArraySize(rulerLabel),":%s",shortChromName);
+	    int labelWidth = mgFontStringWidth(font,rulerLabel);
+	    while ((labelWidth > 0) && (labelWidth > leftLabelWidth))
+		{
+		int len = strlen(shortChromName);
+		shortChromName[len-1] = 0;
+		safef(rulerLabel,ArraySize(rulerLabel),":%s",shortChromName);
+		labelWidth = mgFontStringWidth(font,rulerLabel);
+		}
 	    if (hvg->rc)
-		safef(rulerLabel,ArraySize(rulerLabel),":%s",chromName);
+		safef(rulerLabel,ArraySize(rulerLabel),":%s",shortChromName);
 	    else
-		safef(rulerLabel,ArraySize(rulerLabel),"%s:",chromName);
+		safef(rulerLabel,ArraySize(rulerLabel),"%s:",shortChromName);
 	    hvGfxTextRight(hvg, leftLabelX, y, leftLabelWidth-1, rulerHeight,
 			   MG_BLACK, font, rulerLabel);
 	    y += rulerHeight;
+	    freeMem(shortChromName);
 	    }
 	if (zoomedToBaseLevel || rulerCds)
 	    {
 	    /* disable complement toggle for HIV because HIV is single stranded RNA */