distribute all generated documentation
[rrdtool.git] / src / rrd_graph.c
index 7db7590..ebd91fb 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * RRDtool 1.2.6  Copyright by Tobi Oetiker, 1997-2005
+ * RRDtool 1.2.9  Copyright by Tobi Oetiker, 1997-2005
  ****************************************************************************
  * rrd__graph.c  produce graphs from data in rrdfiles
  ****************************************************************************/
@@ -1991,39 +1991,32 @@ grid_paint(image_desc_t   *im)
                     if (          im->gdes[i].gf != GF_PRINT &&
                                   im->gdes[i].gf != GF_GPRINT &&
                                    im->gdes[i].gf != GF_COMMENT) {
-                            int boxL, boxH, boxV;
+                            int boxH, boxV;
                             
-                            boxL = gfx_get_text_width(im->canvas, 0,
+                            boxH = gfx_get_text_width(im->canvas, 0,
                                                       im->text_prop[TEXT_PROP_LEGEND].font,
                                                       im->text_prop[TEXT_PROP_LEGEND].size,
-                                                      im->tabwidth,"oo", 0);
-                           boxH = boxL / 1.9;
-                            boxV = boxH+1;
+                                                      im->tabwidth,"o", 0) * 1.2;
+                            boxV = boxH*1.1;
                             
-                            /* make sure transparent colors show up all the same */
+                            /* make sure transparent colors show up the same way as in the graph */
                             node = gfx_new_area(im->canvas,
-                                                X0-1,Y0-boxV,
-                                                X0-1,Y0+1,
-                                                X0+boxL+0.5,Y0+1,
-                                                im->graph_col[GRC_BACK]);
-                            gfx_add_point ( node, X0+boxL+0.5, Y0-boxV );
-                           node = gfx_new_area(im->canvas,
-                                                X0-1,Y0-boxV,
-                                                X0-1,Y0,
+                                                X0,Y0-boxV,
+                                                X0,Y0,
                                                 X0+boxH,Y0,
-                                                im->graph_col[GRC_CANVAS]);
+                                                im->graph_col[GRC_BACK]);
                             gfx_add_point ( node, X0+boxH, Y0-boxV );
 
                             node = gfx_new_area(im->canvas,
-                                                X0-1,Y0-boxV,
-                                                X0-1,Y0,
+                                                X0,Y0-boxV,
+                                                X0,Y0,
                                                 X0+boxH,Y0,
                                                 im->gdes[i].col);
                             gfx_add_point ( node, X0+boxH, Y0-boxV );
                             node = gfx_new_line(im->canvas,
-                                                X0-1,Y0-boxV,
-                                                X0-1,Y0,
-                                                1,im->graph_col[GRC_FRAME]);
+                                                X0,Y0-boxV,
+                                                X0,Y0,
+                                                1.0,im->graph_col[GRC_FRAME]);
                             gfx_add_point(node,X0+boxH,Y0);
                             gfx_add_point(node,X0+boxH,Y0-boxV);
                             gfx_close_path(node);
@@ -3159,20 +3152,17 @@ rrd_graph_options(int argc, char *argv[],image_desc_t *im)
            if(sscanf(optarg,
                                "%10[A-Z]:%lf:%1000s",
                                prop,&size,font) == 3){
-               int sindex;
+               int sindex,propidx;
                if((sindex=text_prop_conv(prop)) != -1){
-                   im->text_prop[sindex].size=size;              
-                   strcpy(im->text_prop[sindex].font,font);
-                   if (sindex==0) { /* the default */
-                       im->text_prop[TEXT_PROP_TITLE].size=size;
-                       strcpy(im->text_prop[TEXT_PROP_TITLE].font,font);
-                       im->text_prop[TEXT_PROP_AXIS].size=size;
-                       strcpy(im->text_prop[TEXT_PROP_AXIS].font,font);
-                       im->text_prop[TEXT_PROP_UNIT].size=size;
-                       strcpy(im->text_prop[TEXT_PROP_UNIT].font,font);
-                       im->text_prop[TEXT_PROP_LEGEND].size=size;
-                       strcpy(im->text_prop[TEXT_PROP_LEGEND].font,font);
-                   }
+                  for (propidx=sindex;propidx<TEXT_PROP_LAST;propidx++){                     
+                     if (size > 0){
+                         im->text_prop[propidx].size=size;              
+                      }
+                     if (strlen(font) > 0){
+                         strcpy(im->text_prop[propidx].font,font);
+                      }
+                      if (propidx==sindex && sindex != 0) break;
+                  }
                } else {
                    rrd_set_error("invalid fonttag '%s'",prop);
                    return;