X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Frrd_gfx.c;h=edc4fb6e3555beda177a114445aa2b13af38763a;hb=43d79b11a51ae02b7b0995945cb351799e932d66;hp=bb19776434e0afe5d149909945a89bbf5671ec35;hpb=d93630a054a49f597224468ee8667af33df510e9;p=pkg-rrdtool.git diff --git a/src/rrd_gfx.c b/src/rrd_gfx.c index bb19776..edc4fb6 100644 --- a/src/rrd_gfx.c +++ b/src/rrd_gfx.c @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.3.8 Copyright by Tobi Oetiker, 1997-2009 + * RRDtool 1.4.8 Copyright by Tobi Oetiker, 1997-2013 **************************************************************************** * rrd_gfx.c graphics wrapper for rrdtool **************************************************************************/ @@ -124,7 +124,7 @@ static PangoLayout *gfx_prep_text( const char *text) { PangoLayout *layout = im->layout; - PangoFontDescription *pfd; + const PangoFontDescription *pfd; cairo_t *cr = im->cr; static double last_tabwidth = -1; @@ -154,7 +154,7 @@ static PangoLayout *gfx_prep_text( pango_layout_set_tabs(layout, tab_array); pango_tab_array_free(tab_array); } - pfd = (PangoFontDescription*)(pango_layout_get_font_description(layout)); + pfd = pango_layout_get_font_description(layout); if (!pfd || !pango_font_description_equal (pfd,font_desc)){ pango_layout_set_font_description(layout, font_desc); @@ -293,10 +293,10 @@ void gfx_line_fit( 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 = floor(*x - 0.5) - line_width; + *y = ceil(*y + 0.5) + line_height; cairo_device_to_user(cr, x, y); } @@ -312,7 +312,7 @@ void gfx_area_fit( 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); }