X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fcairo-chart.c;fp=src%2Foutput%2Fcairo-chart.c;h=00eb98f5f91b0915ad6c129934c3e16e6dfaef25;hb=8f998d65fb573c1b4c12f917cc3dd0639808cfa3;hp=c5bffcd761c891597ec2f2b462eb9b4cac36dbbd;hpb=174fe8e41ef09534218803189529cbd797750934;p=pspp diff --git a/src/output/cairo-chart.c b/src/output/cairo-chart.c index c5bffcd761..00eb98f5f9 100644 --- a/src/output/cairo-chart.c +++ b/src/output/cairo-chart.c @@ -1,5 +1,6 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2004, 2009, 2010, 2011, 2014, 2015 Free Software Foundation, Inc. + Copyright (C) 2004, 2009, 2010, 2011, 2014, 2015, + 2020 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -365,7 +366,7 @@ xrchart_text_extents (cairo_t *cr, const struct xrchart_geometry *geom, pango_font_description_free (desc); } -static void +static bool xrchart_write_scale (cairo_t *cr, struct xrchart_geometry *geom, double smin, double smax, enum tick_orientation orient) { @@ -379,6 +380,9 @@ xrchart_write_scale (cairo_t *cr, struct xrchart_geometry *geom, char *tick_format_string; bool tickoversize = false; + if (smax == smin) + return false; + chart_get_scale (smax, smin, &lower, &interval, &ticks); tick_format_string = chart_get_ticks_format (lower, interval, ticks, &tickscale); @@ -417,22 +421,24 @@ xrchart_write_scale (cairo_t *cr, struct xrchart_geometry *geom, pos += interval; } free(tick_format_string); + + return true; } /* Set the scale for the ordinate */ -void +bool xrchart_write_yscale (cairo_t *cr, struct xrchart_geometry *geom, double smin, double smax) { - xrchart_write_scale (cr, geom, smin, smax, SCALE_ORDINATE); + return xrchart_write_scale (cr, geom, smin, smax, SCALE_ORDINATE); } /* Set the scale for the abscissa */ -void +bool xrchart_write_xscale (cairo_t *cr, struct xrchart_geometry *geom, double smin, double smax) { - xrchart_write_scale (cr, geom, smin, smax, SCALE_ABSCISSA); + return xrchart_write_scale (cr, geom, smin, smax, SCALE_ABSCISSA); }