]> granicus.if.org Git - graphviz/commitdiff
abbreviate r2hex in lib/sparse
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 24 Apr 2021 16:29:25 +0000 (09:29 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 1 May 2021 18:18:52 +0000 (11:18 -0700)
This is a shorter way of writing the same thing.

lib/sparse/colorutil.c

index f9f53b8189c40c7beaeef736b1bc295a6fdf4c1c..8286c8610ade5f82cc0de907d37cf0ed4762a833 100644 (file)
 #include <sparse/colorutil.h>
 #include <stdio.h>
 
-static void r2hex(float r, char *h){
-  /* convert a number in [0,1] to 0 to 255 then to a hex */
-  static char hex[] = "0123456789abcdef";
-  int i = (int)(255*r+0.5);
-  int j = i%16;
-  int k = i/16;
-  h[0] = hex[k];
-  h[1] = hex[j];
+static int r2i(float r){
+  /* convert a number in [0,1] to 0 to 255 */
+  return (int)(255*r+0.5);
 }
 
 void rgb2hex(float r, float g, float b, char *cstring, char *opacity){
-  cstring[0] = '#';
-  r2hex(r, &(cstring[1]));
-  r2hex(g, &(cstring[3]));
-  r2hex(b, &(cstring[5]));
+  sprintf(cstring, "#%02x%02x%02x", r2i(r), r2i(g), r2i(b));
   //set to semitransparent for multiple sets vis
   if (opacity && strlen(opacity) >= 2){
     cstring[7] = opacity[0];