You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA. */
#if !output_h
#define output_h 1
#include "str.h"
+#include "config.h"
+
+#include "chart.h"
/* A rectangle. */
struct rect
{
/* Public. */
int options; /* What is specified. */
- struct len_string s; /* String. */
+ struct fixed_string s; /* String. */
int h, v; /* Horizontal, vertical size. */
int x, y; /* Position. */
int w, l; /* Width, length. */
};
-struct som_table;
+struct som_entity;
struct outp_driver;
/* Defines a class of output driver. */
int (*open_page) (struct outp_driver *);
int (*close_page) (struct outp_driver *);
- /* special != 0: Used to submit tables for output. */
- void (*submit) (struct outp_driver *, struct som_table *);
+ /* special != 0: Used to submit entities for output. */
+ void (*submit) (struct outp_driver *, struct som_entity *);
/* special != 0: Methods below need not be defined. */
int (*text_get_size) (struct outp_driver *, int *em_width);
void (*text_metrics) (struct outp_driver *, struct outp_text *);
void (*text_draw) (struct outp_driver *, struct outp_text *);
+
+ void (*initialise_chart)(struct outp_driver *, struct chart *);
+ void (*finalise_chart)(struct outp_driver *, struct chart *);
+
};
/* Device types. */
struct outp_driver_class_list *next;
};
-/* List of known output driver classes. */
-extern struct outp_driver_class_list *outp_class_list;
-
/* List of configured output drivers. */
extern struct outp_driver *outp_driver_list;