src/hg/lib/trackLayout.c 1.4
1.4 2010/03/27 04:26:47 kent
Adding additional font options to config page.
Index: src/hg/lib/trackLayout.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/trackLayout.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -B -U 4 -r1.3 -r1.4
--- src/hg/lib/trackLayout.c 17 Sep 2008 18:10:14 -0000 1.3
+++ src/hg/lib/trackLayout.c 27 Mar 2010 04:26:47 -0000 1.4
@@ -45,61 +45,102 @@
}
return enabled;
}
+static char *fontSizeBackwardsCompatible(char *size)
+/* Given "size" argument that may be in old tiny/small/medium/big/huge format,
+ * return it in new numerical string format. */
+{
+if (isdigit(size[0]))
+ return size;
+else if (sameWord(size, "tiny"))
+ return "6";
+else if (sameWord(size, "small"))
+ return "8";
+else if (sameWord(size, "medium"))
+ return "14";
+else if (sameWord(size, "large"))
+ return "18";
+else if (sameWord(size, "huge"))
+ return "34";
+else
+ {
+ errAbort("unknown font size %s", size);
+ return NULL;
+ }
+}
+
void trackLayoutInit(struct trackLayout *tl, struct cart *cart)
/* Initialize layout around small font and a picture about 600 pixels
* wide, but this can be overridden by cart. */
{
char *fontType = cartUsualString(cart, "fontType", "medium");
boolean fontExtras = trackLayoutInclFontExtras();
-MgFont *font = (MgFont *)NULL;
-tl->textSize = cartUsualString(cart, textSizeVar, "small");
+tl->textSize = fontSizeBackwardsCompatible(cartUsualString(cart, textSizeVar, "small"));
+MgFont *font = NULL;
if (fontExtras && sameString(fontType,"bold"))
{
- if (sameString(tl->textSize, "small"))
- font = mgSmallBoldFont();
- else if (sameString(tl->textSize, "tiny"))
+ if (sameString(tl->textSize, "6"))
font = mgTinyBoldFont();
- else if (sameString(tl->textSize, "medium"))
- font = mgMediumBoldFont();
- else if (sameString(tl->textSize, "large"))
- font = mgLargeBoldFont();
- else if (sameString(tl->textSize, "huge"))
- font = mgHugeBoldFont();
+ else if (sameString(tl->textSize, "8"))
+ font = mgHelveticaBold8Font();
+ else if (sameString(tl->textSize, "10"))
+ font = mgHelveticaBold10Font();
+ else if (sameString(tl->textSize, "12"))
+ font = mgHelveticaBold12Font();
+ else if (sameString(tl->textSize, "14"))
+ font = mgHelveticaBold14Font();
+ else if (sameString(tl->textSize, "18"))
+ font = mgHelveticaBold18Font();
+ else if (sameString(tl->textSize, "24"))
+ font = mgHelveticaBold24Font();
+ else if (sameString(tl->textSize, "34"))
+ font = mgHelveticaBold34Font();
else
- font = mgSmallBoldFont(); /* default to small */
+ errAbort("unknown textSize %s", tl->textSize);
}
else if (fontExtras && sameString(fontType,"fixed"))
{
- if (sameString(tl->textSize, "small"))
- font = mgSmallFixedFont();
- else if (sameString(tl->textSize, "tiny"))
+ if (sameString(tl->textSize, "6"))
font = mgTinyFixedFont();
- else if (sameString(tl->textSize, "medium"))
- font = mgMediumFixedFont();
- else if (sameString(tl->textSize, "large"))
- font = mgLargeFixedFont();
- else if (sameString(tl->textSize, "huge"))
- font = mgHugeFixedFont();
+ else if (sameString(tl->textSize, "8"))
+ font = mgCourier8Font();
+ else if (sameString(tl->textSize, "10"))
+ font = mgCourier10Font();
+ else if (sameString(tl->textSize, "12"))
+ font = mgCourier12Font();
+ else if (sameString(tl->textSize, "14"))
+ font = mgCourier14Font();
+ else if (sameString(tl->textSize, "18"))
+ font = mgCourier18Font();
+ else if (sameString(tl->textSize, "24"))
+ font = mgCourier24Font();
+ else if (sameString(tl->textSize, "34"))
+ font = mgCourier34Font();
else
- font = mgSmallFixedFont(); /* default to small */
+ errAbort("unknown textSize %s", tl->textSize);
}
else
{
- if (sameString(tl->textSize, "small"))
- font = mgSmallFont();
- else if (sameString(tl->textSize, "tiny"))
+ if (sameString(tl->textSize, "6"))
font = mgTinyFont();
- else if (sameString(tl->textSize, "medium"))
- font = mgMediumFont();
- else if (sameString(tl->textSize, "large"))
- font = mgLargeFont();
- else if (sameString(tl->textSize, "huge"))
- font = mgHugeFont();
+ else if (sameString(tl->textSize, "8"))
+ font = mgSmallFont();
+ else if (sameString(tl->textSize, "10"))
+ font = mgHelvetica10Font();
+ else if (sameString(tl->textSize, "12"))
+ font = mgHelvetica12Font();
+ else if (sameString(tl->textSize, "14"))
+ font = mgHelvetica14Font();
+ else if (sameString(tl->textSize, "18"))
+ font = mgHelvetica18Font();
+ else if (sameString(tl->textSize, "24"))
+ font = mgHelvetica24Font();
+ else if (sameString(tl->textSize, "34"))
+ font = mgHelvetica34Font();
else
- font = mgSmallFont(); /* default to small */
+ errAbort("unknown textSize %s", tl->textSize);
}
tl->font = font;
tl->mWidth = mgFontStringWidth(font, "M");
tl->nWidth = mgFontStringWidth(font, "n");