[rrd-users] Minor Graph Rendering Issue

Tobias Oetiker tobi at oetiker.ch
Fri Dec 16 18:51:30 CET 2011


Today Chris Mason wrote:

> Thanks Tobi, I will get the latest snapshot and give it a go.

snapshots get updated around midnight GMT

cheers
tobi


>
> Thanks,
> Chris
>
> On 16 December 2011 17:41, Tobias Oetiker <tobi at oetiker.ch> wrote:
> > Hi Chris,
> >
> > Today Chris Mason wrote:
> >
> >> Hi,
> >>
> >> > CDEF:ifInOctetsBitsN=0,ifInOctetsBits,-
> >>
> >> I had this originally and changed it to what I had to see if it made
> >> any difference.
> >>
> >> Please find attached a text file which has the offline commands
> >> required to recreate the problem.
> >> I have also attached the image it produces which shows the green area
> >> above the 0 line.
> >
> > the grid fitting code needed some help ...  here is the patch which
> > will be in the nex release:
> >
> > Index: trunk/program/src/rrd_gfx.c
> > ===================================================================
> > --- trunk/program/src/rrd_gfx.c (revision 2242)
> > +++ trunk/program/src/rrd_gfx.c (revision 2243)
> > @@ -329,10 +329,10 @@
> >     line_width = cairo_get_line_width(cr);
> >     line_height = line_width;
> >     cairo_user_to_device_distance(cr, &line_width, &line_height);
> > -    line_width = line_width / 2.0 - (long) (line_width / 2.0);
> > -    line_height = line_height / 2.0 - (long) (line_height / 2.0);
> > -    *x = (double) ((long) (*x + 0.5)) - line_width;
> > -    *y = (double) ((long) (*y + 0.5)) + line_height;
> > +    line_width = line_width / 2.0 - ceil(line_width / 2.0);
> > +    line_height = line_height / 2.0 - ceil(line_height / 2.0);
> > +    *x = ceil(*x - 0.5) - line_width;
> > +    *y = ceil(*y + 0.5) + line_height;
> >     cairo_device_to_user(cr, x, y);
> >  }
> >
> > @@ -348,7 +348,7 @@
> >     if (!im->gridfit)
> >         return;
> >     cairo_user_to_device(cr, x, y);
> > -    *x = (double) ((long) (*x + 0.5));
> > -    *y = (double) ((long) (*y + 0.5));
> > +    *x = floor(*x);
> > +    *y = ceil(*y);
> >     cairo_device_to_user(cr, x, y);
> >  }
> >
> > cheers
> > tobi
> >
> > --
> > Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
> > http://it.oetiker.ch tobi at oetiker.ch ++41 62 775 9902 / sb: -9900
>
>

-- 
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
http://it.oetiker.ch tobi at oetiker.ch ++41 62 775 9902 / sb: -9900


More information about the rrd-users mailing list