/* PSPP - computes sample statistics.
Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
- Written by Ben Pfaff <blp@gnu.org>.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
OUTP_CENTER, /* Center justification. */
};
-enum outp_font
+enum outp_font
{
OUTP_FIXED, /* Fixed-width font. */
OUTP_PROPORTIONAL, /* Proportional font. */
{
enum outp_font font;
enum outp_justification justification;
- struct fixed_string string;
+ struct substring string;
int h, v; /* Horizontal, vertical size. */
int x, y; /* Position. */
};
const char *name; /* Name of this driver class. */
int special; /* Boolean value. */
- bool (*open_driver) (struct outp_driver *, const char *options);
+ bool (*open_driver) (struct outp_driver *, struct substring options);
bool (*close_driver) (struct outp_driver *);
void (*open_page) (struct outp_driver *);
/* special != 0 only. */
void (*submit) (struct outp_driver *, struct som_entity *);
-
+
/* special == 0 only. */
void (*line) (struct outp_driver *, int x0, int y0, int x1, int y1,
enum outp_line_style top, enum outp_line_style left,
struct outp_driver
{
struct outp_driver *next, *prev; /* List of drivers. */
- struct outp_class *class; /* Driver class. */
+ const struct outp_class *class; /* Driver class. */
char *name; /* Name of this driver. */
bool page_open; /* 1=page is open, 0=page is closed. */
int device; /* Zero or more of OUTP_DEV_*. */
int subcat; /* Subcategory. */
};
-/* List of configured output drivers. */
-extern struct outp_driver *outp_driver_list;
/* Title, subtitle. */
extern char *outp_title;
void outp_enable_device (int enable, int device);
struct outp_driver *outp_drivers (struct outp_driver *);
-bool outp_parse_options (const char *options,
+bool outp_parse_options (struct substring options,
bool (*) (struct outp_driver *, const char *key,
const struct string *value),
struct outp_driver *);
-int outp_match_keyword (const char *, struct outp_option *, int *);
+int outp_match_keyword (const char *, const struct outp_option *, int *);
int outp_evaluate_dimension (char *, char **);
-int outp_get_paper_size (char *, int *h, int *v);
+bool outp_get_paper_size (char *, int *h, int *v);
void outp_open_page (struct outp_driver *);
void outp_close_page (struct outp_driver *);