projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
category sort implicitly
[pspp]
/
src
/
output
/
spv-driver.c
diff --git
a/src/output/spv-driver.c
b/src/output/spv-driver.c
index 75c8e82f04e842cddc8e6934ac5dbaae16e6801a..707e82abfa33afe34348743664bcc176a13a6fce 100644
(file)
--- a/
src/output/spv-driver.c
+++ b/
src/output/spv-driver.c
@@
-23,13
+23,7
@@
#include "data/file-handle-def.h"
#include "libpspp/cast.h"
#include "output/cairo-chart.h"
#include "data/file-handle-def.h"
#include "libpspp/cast.h"
#include "output/cairo-chart.h"
-#include "output/chart-item.h"
-#include "output/group-item.h"
-#include "output/image-item.h"
-#include "output/page-eject-item.h"
-#include "output/page-setup-item.h"
-#include "output/table-item.h"
-#include "output/text-item.h"
+#include "output/output-item.h"
#include "output/spv/spv-writer.h"
#include "gl/xalloc.h"
#include "output/spv/spv-writer.h"
#include "gl/xalloc.h"
@@
-55,12
+49,10
@@
spv_driver_cast (struct output_driver *driver)
static struct output_driver *
spv_create (struct file_handle *fh, enum settings_output_devices device_type,
static struct output_driver *
spv_create (struct file_handle *fh, enum settings_output_devices device_type,
-
struct string_map *o UNUSED)
+ struct string_map *o UNUSED)
{
struct output_driver *d;
{
struct output_driver *d;
- struct spv_driver *spv;
-
- spv = xzalloc (sizeof *spv);
+ struct spv_driver *spv = XZALLOC (struct spv_driver);
d = &spv->driver;
spv->handle = fh;
output_driver_init (&spv->driver, &spv_driver_class, fh_get_file_name (fh),
d = &spv->driver;
spv->handle = fh;
output_driver_init (&spv->driver, &spv_driver_class, fh_get_file_name (fh),
@@
-75,7
+67,7
@@
spv_create (struct file_handle *fh, enum settings_output_devices device_type,
return d;
return d;
-
error:
+error:
output_driver_destroy (d);
return NULL;
}
output_driver_destroy (d);
return NULL;
}
@@
-94,20
+86,31
@@
spv_destroy (struct output_driver *driver)
static void
spv_submit (struct output_driver *driver,
static void
spv_submit (struct output_driver *driver,
-
const struct output_item *output_item)
+ const struct output_item *output_item)
{
struct spv_driver *spv = spv_driver_cast (driver);
spv_writer_write (spv->writer, output_item);
}
{
struct spv_driver *spv = spv_driver_cast (driver);
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);
+}
+
struct output_driver_factory spv_driver_factory =
{ "spv", "pspp.spv", spv_create };
static const struct output_driver_class spv_driver_class =
{
struct output_driver_factory spv_driver_factory =
{ "spv", "pspp.spv", spv_create };
static const struct output_driver_class spv_driver_class =
{
- "spv",
- spv_destroy,
- spv_submit,
- NULL,
+ .name = "spv",
+ .destroy = spv_destroy,
+ .submit = spv_submit,
+ .setup = spv_setup,
+ .handles_show = true,
+ .handles_groups = true,
};
};