allow 3/4 component color rrdtool graph --color too -- Alex
[rrdtool.git] / src / rrd_graph.c
index 3a39ae2..bb4c542 100644 (file)
@@ -2541,13 +2541,13 @@ graph_paint(image_desc_t *im, char ***calcpr)
            }
            if ( !isnan(ybase0) ){
                    node = gfx_new_area(im->canvas,
-                                (double)ii-1.1+(double)im->xorigin,ybase0-0.1,
-                                (double)ii-1.1+(double)im->xorigin,ytop0+0.1,
-                                (double)ii+0.1+(double)im->xorigin,ytop+0.1,
+                                (double)ii-1.2+(double)im->xorigin,ybase0-0.2,
+                                (double)ii-1.2+(double)im->xorigin,ytop0+0.2,
+                                (double)ii+0.2+(double)im->xorigin,ytop+0.2,
                                 im->gdes[i].col
                                );
                    gfx_add_point(node,
-                               (double)ii+0.01+im->xorigin,ybase-0.1
+                               (double)ii+0.02+im->xorigin,ybase-0.2
                               );
             }
            ybase0=ybase;
@@ -3112,6 +3112,22 @@ rrd_graph_options(int argc, char *argv[],image_desc_t *im)
                 int ci;
                int col_len = col_end - col_start;
                switch (col_len){
+                       case 3:
+                               color = (
+                                       ((color & 0xF00) * 0x110000) |
+                                       ((color & 0x0F0) * 0x011000) |
+                                       ((color & 0x00F) * 0x001100) |
+                                       0x000000FF
+                                       );
+                               break;
+                       case 4:
+                               color = (
+                                       ((color & 0xF000) * 0x11000) |
+                                       ((color & 0x0F00) * 0x01100) |
+                                       ((color & 0x00F0) * 0x00110) |
+                                       ((color & 0x000F) * 0x00011)
+                                       );
+                               break;
                        case 6:
                                color = (color << 8) + 0xff /* shift left by 8 */;
                                break;