X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Foutput%2Fcairo.c;h=4af75caae455f3a5f03f1c687bcfba7efc45c324;hb=2a45a48f87553563cbf0f0b6dcc20396b3e5a27a;hp=f61fe6b0764eff304cf0f2f40a8b19ae0f67a6d9;hpb=0011a559f8ba51cddbebeb035d8a02bbd4776bdc;p=pspp diff --git a/src/output/cairo.c b/src/output/cairo.c index f61fe6b076..4af75caae4 100644 --- a/src/output/cairo.c +++ b/src/output/cairo.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015 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 @@ -30,6 +30,7 @@ #include "output/charts/boxplot.h" #include "output/charts/np-plot.h" #include "output/charts/piechart.h" +#include "output/charts/barchart.h" #include "output/charts/plot-hist.h" #include "output/charts/roc-chart.h" #include "output/charts/spreadlevel-plot.h" @@ -563,24 +564,19 @@ xr_submit (struct output_driver *driver, const struct output_item *output_item) See the big comment in cairo.h for intended usage. */ -/* Gives new page CAIRO to XR for output. CAIRO may be null to skip actually - rendering the page (which might be useful to find out how many pages an - output document has without actually rendering it). */ +/* Gives new page CAIRO to XR for output. */ void xr_driver_next_page (struct xr_driver *xr, cairo_t *cairo) { - if (cairo != NULL) - { - cairo_save (cairo); - cairo_set_source_rgb (cairo, xr->bg.red, xr->bg.green, xr->bg.blue); - cairo_rectangle (cairo, 0, 0, xr->width, xr->length); - cairo_fill (cairo); - cairo_restore (cairo); - - cairo_translate (cairo, - xr_to_pt (xr->left_margin), - xr_to_pt (xr->top_margin)); - } + cairo_save (cairo); + cairo_set_source_rgb (cairo, xr->bg.red, xr->bg.green, xr->bg.blue); + cairo_rectangle (cairo, 0, 0, xr->width, xr->length); + cairo_fill (cairo); + cairo_restore (cairo); + + cairo_translate (cairo, + xr_to_pt (xr->left_margin), + xr_to_pt (xr->top_margin)); xr->page_number++; xr->cairo = cairo; @@ -1415,6 +1411,8 @@ xr_draw_chart (const struct chart_item *chart_item, cairo_t *cr, xrchart_draw_np_plot (chart_item, cr, &geom); else if (is_piechart (chart_item)) xrchart_draw_piechart (chart_item, cr, &geom); + else if (is_barchart (chart_item)) + xrchart_draw_barchart (chart_item, cr, &geom); else if (is_roc_chart (chart_item)) xrchart_draw_roc (chart_item, cr, &geom); else if (is_scree (chart_item))