typedef struct GVC_s GVC_t;
typedef struct gvrender_engine_s gvrender_engine_t;
typedef struct gvlayout_engine_s gvlayout_engine_t;
+ typedef struct gvdisplay_engine_s gvdisplay_engine_t;
typedef struct htmllabel_t htmllabel_t;
gv_plugin_t *apis[NUM_APIS]; /* array of linked lists of plugins for each api */
gv_plugin_t *api[NUM_APIS]; /* array of current plugins for each api */
+ void *display; /* window display data for gvdisplay plugin */
+
/* gvrender_begin_job() */
char *layout_type; /* string name of layout type */
gvlayout_engine_t *layout_engine; /* current layout engine */
win_deinit(job);
XCloseDisplay(job->dpy);
- free(job->win);
#else
fprintf(stderr,"No X11 support available\n");
#endif
extern "C" {
#endif
+#ifndef NULL
+#define NULL (void *)0
+#endif
+
/*
* Define an apis array of name strings using an enumerated api_t as index.
* The enumerated type is defined here. The apis array is
* The last enum is NUM_APIS which is the size of the array.
*/
// #define APIS ELEM(render) ELEM(layout) ELEM(parser) ELEM(scripter) ...
-#define APIS ELEM(render) ELEM(layout)
+#define APIS ELEM(render) ELEM(layout) ELEM(display)
#define ELEM(x) API_##x,
typedef enum { APIS NUM_APIS } api_t; /* API_render, API_layout, ... */
--- /dev/null
+/* $Id$ $Revision$ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifndef GVDISPLAY_PLUGIN_H
+#define GVDISPLAY_PLUGIN_H
+
+#include "gvplugin.h"
+#include "gvcint.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ struct gvdisplay_engine_s {
+ void (*init) (GVC_t * gvc);
+ void (*process) (GVC_t * gvc);
+ void (*deinit) (GVC_t * gvc);
+ };
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* GVDISPLAY_PLUGIN_H */
* AT&T Research, Florham Park NJ *
**********************************************************/
-/* This is the public header for the libgvre_* plugins */
-
#ifndef GVLAYOUT_PLUGIN_H
#define GVLAYOUT_PLUGIN_H
* AT&T Research, Florham Park NJ *
**********************************************************/
-/* This is the public header for the libgvre_* plugins */
-
#ifndef GVRENDER_PLUGIN_H
#define GVRENDER_PLUGIN_H