typedef struct gvrender_engine_s gvrender_engine_t;
typedef struct gvlayout_engine_s gvlayout_engine_t;
typedef struct gvtextlayout_engine_s gvtextlayout_engine_t;
+ typedef struct gvusershape_engine_s gvusershape_engine_t;
typedef struct htmllabel_t htmllabel_t;
* The enumerated type is defined here. The apis array is
* inititialized in gvplugin.c by redefining ELEM and reinvoking APIS.
*/
-#define APIS ELEM(render) ELEM(layout) ELEM(textlayout) ELEM(device)
+#define APIS ELEM(render) ELEM(layout) ELEM(textlayout) ELEM(device) ELEM(usershape)
#define ELEM(x) API_##x,
typedef enum { 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 GVUSERSHAPE_PLUGIN_H
+#define GVUSERSHAPE_PLUGIN_H
+
+#include "gvplugin.h"
+#include "gvcint.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ struct gvusershape_engine_s {
+ void *(*getshape) (char *name);
+ void (*freeshapes) (void);
+ point (*image_size) (graph_t * g, char *shapefile);
+ };
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* GVUSERSHAPE_PLUGIN_H */