From c23a92d7d433e581c530fc54a6fbaebf944f987f Mon Sep 17 00:00:00 2001 From: oetiker Date: Fri, 17 Oct 2008 05:44:09 +0000 Subject: [PATCH] use double for legend positioning to fight wiggle git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.3@1617 a5681a0c-68f1-0310-ab6d-d61299d08faa --- program/src/rrd_graph.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/program/src/rrd_graph.c b/program/src/rrd_graph.c index d8a2f305..a2625d56 100644 --- a/program/src/rrd_graph.c +++ b/program/src/rrd_graph.c @@ -1621,11 +1621,11 @@ int leg_place( int border = im->text_prop[TEXT_PROP_LEGEND].size * 2.0; int fill = 0, fill_last; int leg_c = 0; - int leg_x = border; + double leg_x = border; int leg_y = im->yimg; int leg_y_prev = im->yimg; int leg_cc; - int glue = 0; + double glue = 0; int i, ii, mark = 0; char prt_fctn; /*special printfunctions */ char default_txtalign = TXA_JUSTIFIED; /*default line orientation */ @@ -1757,12 +1757,12 @@ int leg_place( if (prt_fctn != '\0') { leg_x = border; if (leg_c >= 2 && prt_fctn == 'j') { - glue = (im->ximg - fill - 2 * border) / (leg_c - 1); + glue = (double)(im->ximg - fill - 2 * border) / (double)(leg_c - 1); } else { glue = 0; } if (prt_fctn == 'c') - leg_x = (im->ximg - fill) / 2.0; + leg_x = (double)(im->ximg - fill) / 2.0; if (prt_fctn == 'r') leg_x = im->ximg - fill - border; for (ii = mark; ii <= i; ii++) { @@ -1771,13 +1771,13 @@ int leg_place( im->gdes[ii].leg_x = leg_x; im->gdes[ii].leg_y = leg_y; leg_x += - gfx_get_text_width(im, leg_x, + (double)gfx_get_text_width(im, leg_x, im-> text_prop [TEXT_PROP_LEGEND]. font_desc, im->tabwidth, im->gdes[ii].legend) - + legspace[ii] + +(double)legspace[ii] + glue; } leg_y_prev = leg_y; -- 2.30.2