- 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);
+}
+
+static void
+spv_setup (struct output_driver *driver,
+ const struct page_setup *ps)
+{
+ struct spv_driver *spv = spv_driver_cast (driver);
+
+ spv_writer_set_page_setup (spv->writer, ps);