From: John Darrington Date: Sun, 1 Apr 2012 07:15:26 +0000 (+0200) Subject: Corrected bug in chart rendering which caused the ordinate label to never get displayed X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7fea15b38b74727361ae21b88789b5eacbc3048e;p=pspp Corrected bug in chart rendering which caused the ordinate label to never get displayed --- diff --git a/src/output/cairo-chart.c b/src/output/cairo-chart.c index 2f654390ab..6625452122 100644 --- a/src/output/cairo-chart.c +++ b/src/output/cairo-chart.c @@ -46,13 +46,14 @@ void xrchart_geometry_init (cairo_t *cr, struct xrchart_geometry *geom, double width, double length) { - /* Set default chartetry. */ + /* Set default chart geometry. */ geom->axis[SCALE_ORDINATE].data_max = 0.900 * length; - geom->axis[SCALE_ABSCISSA].data_max = 0.800 * width; geom->axis[SCALE_ORDINATE].data_min = 0.120 * length; + geom->axis[SCALE_ABSCISSA].data_min = 0.150 * width; - geom->abscissa_top = 0.070 * length; - geom->ordinate_right = 0.120 * width; + geom->axis[SCALE_ABSCISSA].data_max = 0.800 * width; + geom->abscissa_bottom = 0.070 * length; + geom->ordinate_left = 0.050 * width; geom->title_bottom = 0.920 * length; geom->legend_left = 0.810 * width; geom->legend_right = width; @@ -355,7 +356,7 @@ void xrchart_write_xlabel (cairo_t *cr, const struct xrchart_geometry *geom, const char *label) { - cairo_move_to (cr, geom->axis[SCALE_ABSCISSA].data_min, geom->abscissa_top); + cairo_move_to (cr, geom->axis[SCALE_ABSCISSA].data_min, geom->abscissa_bottom); xrchart_label (cr, 'l', 't', geom->font_size, label); } @@ -365,9 +366,9 @@ xrchart_write_ylabel (cairo_t *cr, const struct xrchart_geometry *geom, const char *label) { cairo_save (cr); - cairo_translate (cr, -geom->axis[SCALE_ORDINATE].data_min, -geom->ordinate_right); - cairo_move_to (cr, 0, 0); + cairo_translate (cr, geom->ordinate_left, geom->axis[SCALE_ORDINATE].data_min); cairo_rotate (cr, M_PI / 2.0); + xrchart_label (cr, 'l', 'x', geom->font_size, label); cairo_restore (cr); } diff --git a/src/output/cairo-chart.h b/src/output/cairo-chart.h index 090bc9cede..f415d1b915 100644 --- a/src/output/cairo-chart.h +++ b/src/output/cairo-chart.h @@ -44,8 +44,11 @@ struct xrchart_axis /* The geometry of a chart. */ struct xrchart_geometry { - int abscissa_top; - int ordinate_right; + /* Bottom of the abscissa segment */ + int abscissa_bottom; + + /* Left of the ordinate segment */ + int ordinate_left; int title_bottom;