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

diff --git src/hg/hgTracks/expRatioTracks.c src/hg/hgTracks/expRatioTracks.c
index 5c8a790..30e5bae 100644
--- src/hg/hgTracks/expRatioTracks.c
+++ src/hg/hgTracks/expRatioTracks.c
@@ -965,34 +965,34 @@
     {
     if (expColor == redGreen)
 	return shadesOfGreen[colorIndex];
     else if (expColor == redBlueOnWhite)
 	return shadesOfBlueOnWhite[colorIndex];
     else if (expColor == redBlueOnYellow)
 	return shadesOfBlueOnYellow[colorIndex];
     else
         return shadesOfBlue[colorIndex];
     }
 }
 
 void makeLoweShades(struct hvGfx *hvg)
 /* Allocate the  shades of Red, Green and Blue */
 {
-static struct rgbColor black = {0, 0, 0};
-static struct rgbColor shade1 = {120, 255, 255};
-static struct rgbColor shade2 = {80,200, 255};
-static struct rgbColor shade3 = {0,60, 255};
+static struct rgbColor black = {0, 0, 0, 255};
+static struct rgbColor shade1 = {120, 255, 255, 255};
+static struct rgbColor shade2 = {80,200, 255, 255};
+static struct rgbColor shade3 = {0,60, 255, 255};
 hvGfxMakeColorGradient(hvg, &black, &shade1, 11, shadesOfLowe1);
 hvGfxMakeColorGradient(hvg, &black, &shade2, 11, shadesOfLowe2);
 hvGfxMakeColorGradient(hvg, &black, &shade3, 11, shadesOfLowe3);
 
 }
 
 /*For Lowe Lab arrays with M and A values*/
 Color loweExpressionScoreColor(struct track *tg, float val, struct hvGfx *hvg,
                                float denseMax, float fullMax)
 /* Does the score->color conversion for various microarray tracks */
 /* NOTE: item is a linkedFeatures struct */
 {
 float absVal = fabs(val);
 int colorIndex = 0;
 float maxDeviation = 1.0;