b8180d9f6d41dc708a2f249ba892cbca311e7a06
jcasper
  Mon Feb 27 11:38:55 2023 -0800
Adding transparency support for colors refs #30569

diff --git src/hg/hgTracks/barChartTrack.c src/hg/hgTracks/barChartTrack.c
index d73326a..e3d3044 100644
--- src/hg/hgTracks/barChartTrack.c
+++ src/hg/hgTracks/barChartTrack.c
@@ -129,31 +129,32 @@
 }
 
 struct rgbColor *getCategoryColors(struct track *tg)
 /* Get RGB colors from category table */
 {
 struct barChartCategory *categs = getCategories(tg);
 struct barChartCategory *categ = NULL;
 int count = slCount(categs);
 struct barChartTrack *extras = (struct barChartTrack *)tg->extraUiData;
 if (!extras->colors)
     {
     AllocArray(extras->colors, count);
     int i = 0;
     for (categ = categs; categ != NULL; categ = categ->next)
         {
-        extras->colors[i] = (struct rgbColor){.r=COLOR_32_BLUE(categ->color), .g=COLOR_32_GREEN(categ->color), .b=COLOR_32_RED(categ->color)};
+        // takes advantage of bedColorToRgb assuming alpha will never be 0, and assigning 0xff instead
+        extras->colors[i] = bedColorToRgb(categ->color);
         i++;
         }
     }
 return extras->colors;
 }
 
 static void fillInTables(struct track *tg, struct barChartTrack *extras)
 /* Fill in statTable and facetsTable on extras */
 {
 char *barChartStatsUrl = hReplaceGbdb(trackDbSetting(tg->tdb, "barChartStatsUrl"));
 if (barChartStatsUrl != NULL)
     {
     extras->statsTable = fieldedTableFromTabFile(barChartStatsUrl,
 	    barChartStatsUrl, NULL, 0);
     char *barChartFacets = trackDbSetting(tg->tdb, "barChartFacets");