Code

added function (--no-minor) to turn off minor gridlines on graphs
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Sat, 25 Jan 2003 22:50:32 +0000 (22:50 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Sat, 25 Jan 2003 22:50:32 +0000 (22:50 +0000)
-- Travis Brown <tebrown@csh.rit.edu>

git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@173 a5681a0c-68f1-0310-ab6d-d61299d08faa

CONTRIBUTORS
examples/4charts.pl.in
src/rrd_graph.c
src/rrd_graph.h

index 7e6f1acbf9ebc470ea8c2f21596d303d26cf5fd0..7e1f291b8a9a75730acf5675220aff81e4010de8 100644 (file)
@@ -55,6 +55,7 @@ Debugging and code contributions
        Sean Summers <sean@Fenstermaker.com> (RPM .spec)
        Christophe Van Ginneken <Christophe.VanGinneken@ubizen.com> (--no-legend)
        Wolfgang Schrimm <wschrimm@uni-hd.de> xport function
+        Travis Brown <tebrown@csh.rit.edu> 
 
 Documentation
 
index 67dfdad0a3df7270cda7433dc9fb1b4edcad71bb..9df0f7b1b826700bda17c7ae34a051db439e3076 100755 (executable)
@@ -1,4 +1,4 @@
-#! /usr/sepp/bin/perl
+#! /usr/bin/perl
 
 #makes things work when run without install
 use lib qw( ../bindings/perl-shared/blib/lib ../bindings/perl-shared/blib/arch );
index 38956d764b13f5e16bf10b460cf98ec738a62f30..a037563075bd392780cf1e9456b4a50ef217174a 100644 (file)
@@ -1591,7 +1591,7 @@ int draw_horizontal_grid(image_desc_t *im)
                              MGRIDWIDTH, im->graph_col[GRC_MGRID],
                              im->grid_dash_on, im->grid_dash_off);            
               
-           } else {            
+           } else if (!(im->extra_flags & NOMINOR)) {          
               gfx_new_dashed_line ( im->canvas,
                              X0-1,Y0,
                              X1+1,Y0,
@@ -1721,27 +1721,30 @@ vertical_grid(
    
 
     /* paint the minor grid */
-    for(ti = find_first_time(im->start,
-                           im->xlab_user.gridtm,
-                           im->xlab_user.gridst),
-        timajor = find_first_time(im->start,
-                           im->xlab_user.mgridtm,
-                           im->xlab_user.mgridst);
-       ti < im->end; 
-       ti = find_next_time(ti,im->xlab_user.gridtm,im->xlab_user.gridst)
-       ){
-       /* are we inside the graph ? */
-       if (ti < im->start || ti > im->end) continue;
-       while (timajor < ti) {
-           timajor = find_next_time(timajor,
-                   im->xlab_user.mgridtm, im->xlab_user.mgridst);
-       }
-       if (ti == timajor) continue; /* skip as falls on major grid line */
-       X0 = xtr(im,ti);       
-       gfx_new_dashed_line(im->canvas,X0,Y0+1, X0,Y1-1,GRIDWIDTH,
-          im->graph_col[GRC_GRID],
-          im->grid_dash_on, im->grid_dash_off);
-       
+    if (!(im->extra_flags & NOMINOR))
+    {
+        for(ti = find_first_time(im->start,
+                                im->xlab_user.gridtm,
+                                im->xlab_user.gridst),
+            timajor = find_first_time(im->start,
+                                im->xlab_user.mgridtm,
+                                im->xlab_user.mgridst);
+            ti < im->end; 
+            ti = find_next_time(ti,im->xlab_user.gridtm,im->xlab_user.gridst)
+            ){
+            /* are we inside the graph ? */
+            if (ti < im->start || ti > im->end) continue;
+            while (timajor < ti) {
+                timajor = find_next_time(timajor,
+                        im->xlab_user.mgridtm, im->xlab_user.mgridst);
+            }
+            if (ti == timajor) continue; /* skip as falls on major grid line */
+           X0 = xtr(im,ti);       
+           gfx_new_dashed_line(im->canvas,X0,Y0+1, X0,Y1-1,GRIDWIDTH,
+               im->graph_col[GRC_GRID],
+               im->grid_dash_on, im->grid_dash_off);
+           
+        }
     }
 
     /* paint the major grid */
@@ -2708,6 +2711,7 @@ rrd_graph_options(int argc, char *argv[],image_desc_t *im)
             {"zoom",       required_argument, 0,  'm'},
            {"no-legend",  no_argument,       0,  'g'},
            {"alt-y-grid", no_argument,       0,  'Y'},
+            {"no-minor",   no_argument,       0,  'I'},
            {"alt-autoscale", no_argument,    0,  'A'},
            {"alt-autoscale-max", no_argument, 0, 'M'},
            {"units-exponent",required_argument, 0, 'X'},
@@ -2719,13 +2723,16 @@ rrd_graph_options(int argc, char *argv[],image_desc_t *im)
 
 
        opt = getopt_long(argc, argv, 
-                         "s:e:x:y:v:w:h:iu:l:rb:oc:n:m:t:f:a:zgYAMX:S:N",
+                         "s:e:x:y:v:w:h:iu:l:rb:oc:n:m:t:f:a:I:zgYAMX:S:N",
                          long_options, &option_index);
 
        if (opt == EOF)
            break;
        
        switch(opt) {
+        case 'I':
+            im->extra_flags |= NOMINOR;
+            break;
        case 'Y':
            im->extra_flags |= ALTYGRID;
            break;
index 0f9079a15c434d4b40f491ee4d7dab6e1baee2f2..cf99c8e4e946fed0bd768eefbae447ca1f046a0b 100644 (file)
@@ -12,6 +12,7 @@
 #define ALTAUTOSCALE   0x02    /* use alternative algorithm to find lower and upper bounds */
 #define ALTAUTOSCALE_MAX 0x04  /* use alternative algorithm to find upper bounds */
 #define NOLEGEND       0x08    /* use no legend */
+#define NOMINOR         0x20    /* Turn off minor gridlines */
 
 
 enum tmt_en {TMT_SECOND=0,TMT_MINUTE,TMT_HOUR,TMT_DAY,