b8180d9f6d41dc708a2f249ba892cbca311e7a06 jcasper Mon Feb 27 11:38:55 2023 -0800 Adding transparency support for colors refs #30569 diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 9854137..aaf42d3 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -21573,30 +21573,31 @@ cgiMakeHiddenVar("db",database); printf("
\n");*/ chuckHtmlContactInfo(); } void makeGrayShades(struct hvGfx *hvg) /* Make eight shades of gray in display. */ { int i; for (i=0; i<=maxShade; ++i) { struct rgbColor rgb; int level = 255 - (255*i/maxShade); if (level < 0) level = 0; rgb.r = rgb.g = rgb.b = level; + rgb.a = 255; shadesOfGray[i] = hvGfxFindRgb(hvg, &rgb); } shadesOfGray[maxShade+1] = MG_RED; } void mgMakeColorGradient(struct memGfx *mg, struct rgbColor *start, struct rgbColor *end, int steps, Color *colorIxs) /* Make a color gradient that goes smoothly from start * to end colors in given number of steps. Put indices * in color table in colorIxs */ { double scale = 0, invScale; double invStep; int i; @@ -21606,32 +21607,32 @@ invStep = 1.0/steps; for (i=0; i<=steps; ++i) { invScale = 1.0 - scale; r = invScale * start->r + scale * end->r; g = invScale * start->g + scale * end->g; b = invScale * start->b + scale * end->b; colorIxs[i] = mgFindColor(mg, r, g, b); scale += invStep; } } void makeRedGreenShades(struct memGfx *mg) /* Allocate the shades of Red, Green and Blue */ { -static struct rgbColor black = {0, 0, 0}; -static struct rgbColor red = {255, 0, 0}; +static struct rgbColor black = {0, 0, 0, 255}; +static struct rgbColor red = {255, 0, 0, 255}; mgMakeColorGradient(mg, &black, &red, maxRGBShade+1, shadesOfRed); exprBedColorsMade = TRUE; } char *altGraphXMakeImage(struct trackDb *tdb, struct altGraphX *ag) /* Create a drawing of splicing pattern. */ { MgFont *font = mgSmallFont(); int fontHeight = mgFontLineHeight(font); struct spaceSaver *ssList = NULL; struct hash *heightHash = NULL; int rowCount = 0; struct tempName gifTn; int pixWidth = atoi(cartUsualString(cart, "pix", DEFAULT_PIX_WIDTH )); int pixHeight = 0;