X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fspv-driver.c;h=0fb0928372debcdb4cdd8f1e1e1dc6689d8ebf28;hb=f8659933d48c5682010d1e1f04ae7acb5cbcd611;hp=0c9d1412a5584514d4bf45be1139bf94ae4ce7ad;hpb=855eaf1506f0ea76a8bbfb3bbfd456524f4edeca;p=pspp diff --git a/src/output/spv-driver.c b/src/output/spv-driver.c index 0c9d1412a5..0fb0928372 100644 --- a/src/output/spv-driver.c +++ b/src/output/spv-driver.c @@ -22,6 +22,10 @@ #include "data/file-handle-def.h" #include "libpspp/cast.h" +#ifdef HAVE_CAIRO +#include "output/cairo-chart.h" +#endif +#include "output/chart-item.h" #include "output/group-item.h" #include "output/page-eject-item.h" #include "output/page-setup-item.h" @@ -107,6 +111,18 @@ spv_submit (struct output_driver *driver, if (table_item->pt) spv_writer_put_table (spv->writer, table_item->pt); } +#ifdef HAVE_CAIRO + else if (is_chart_item (output_item)) + { + cairo_surface_t *surface = xr_draw_image_chart ( + to_chart_item (output_item), + &(struct cell_color) CELL_COLOR_BLACK, + &(struct cell_color) CELL_COLOR_WHITE); + if (cairo_surface_status (surface) == CAIRO_STATUS_SUCCESS) + spv_writer_put_image (spv->writer, surface); + cairo_surface_destroy (surface); + } +#endif else if (is_text_item (output_item)) { char *command_id = output_get_command_name ();