#include "data/file-handle-def.h"
#include "libpspp/cast.h"
-#include "output/group-item.h"
-#include "output/page-setup-item.h"
-#include "output/table-item.h"
-#include "output/text-item.h"
+#include "output/cairo-chart.h"
+#include "output/output-item.h"
#include "output/spv/spv-writer.h"
#include "gl/xalloc.h"
{
struct spv_driver *spv = spv_driver_cast (driver);
- if (is_group_open_item (output_item))
- spv_writer_open_heading (spv->writer,
- to_group_open_item (output_item)->command_name,
- to_group_open_item (output_item)->command_name);
- else if (is_group_close_item (output_item))
- spv_writer_close_heading (spv->writer);
- else if (is_table_item (output_item))
- {
- const struct table_item *table_item = to_table_item (output_item);
- if (table_item->pt)
- spv_writer_put_table (spv->writer, table_item->pt);
- }
- else if (is_text_item (output_item))
- spv_writer_put_text (spv->writer, to_text_item (output_item),
- output_get_command_name ());
- else if (is_page_setup_item (output_item))
- spv_writer_set_page_setup (spv->writer,
- to_page_setup_item (output_item)->page_setup);
+ spv_writer_write (spv->writer, output_item);
}
struct output_driver_factory spv_driver_factory =