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

diff --git src/lib/vGfx.c src/lib/vGfx.c
index cb5e282..a4252f4 100644
--- src/lib/vGfx.c
+++ src/lib/vGfx.c
@@ -1,51 +1,51 @@
 /* vGfx - interface to polymorphic graphic object
  * that currently can either be a memory buffer or
  * a postScript file. */
 
 /* Copyright (C) 2011 The Regents of the University of California 
  * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */
 
 #include "common.h"
 #include "vGfx.h"
 
 /* Most of the implementation of this is in macros in vGfx.h. */
 
 void vgClose(struct vGfx **pVg)
 /* Close down virtual graphics object, and finish writing it to file. */
 {
 struct vGfx *vg = *pVg;
 if (vg != NULL)
     {
     vg->close(&vg->data);
     freez(pVg);
     }
 }
 
 struct vGfx *vgHalfInit(int width, int height)
 /* Close down virtual graphics object, and finish writing it to file. */
 {
 struct vGfx *vg;
 AllocVar(vg);
 vg->width = width;
 vg->height = height;
 return vg;
 }
 
 int vgFindRgb(struct vGfx *vg, struct rgbColor *rgb)
-/* Find color index corresponding to rgb color. */
+/* Find color index corresponding to rgba color. */
 {
-return vgFindColorIx(vg, rgb->r, rgb->g, rgb->b);
+return vgFindAlphaColorIx(vg, rgb->r, rgb->g, rgb->b, rgb->a);
 }
 
 Color vgContrastingColor(struct vGfx *vg, int backgroundIx)
 /* Return black or white whichever would be more visible over
- * background. */
+ * background. Note: ignores alpha. */
 {
 struct rgbColor c = vgColorIxToRgb(vg, backgroundIx);
 int val = (int)c.r + c.g + c.g + c.b;
 if (val > 512)
     return MG_BLACK;
 else
     return MG_WHITE;
 }