- if (is_group_open_item (item))
- spv_writer_open_heading (w,
- to_group_open_item (item)->command_name,
- to_group_open_item (item)->command_name);
- else if (is_group_close_item (item))
- spv_writer_close_heading (w);
- else if (is_table_item (item))
- spv_writer_put_table (w, to_table_item (item));
- else if (is_chart_item (item))
- {
- cairo_surface_t *surface = xr_draw_image_chart (
- to_chart_item (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 (w, item, surface);
- cairo_surface_destroy (surface);
- }
- else if (is_image_item (item))
- spv_writer_put_image (w, item, to_image_item (item)->image);
- else if (is_text_item (item))
- {
- char *command_id = output_get_command_name ();
- spv_writer_put_text (w, to_text_item (item),
- command_id);
- free (command_id);
- }
- else if (is_page_break_item (item))
- w->need_page_break = true;
- else if (is_page_setup_item (item))