html_DATA = $(html)
# $(subdirs) contains the list from: AC_CONFIG_SUBDIRS
-SUBDIRS = $(subdirs) lib plugin cmd tclpkg doc contrib graphs
+SUBDIRS = $(subdirs) lib cmd tclpkg doc contrib graphs
.PHONY: doxygen
doxygen:
$(top_builddir)/lib/gvc/libgvc.la \
$(top_builddir)/lib/ingraphs/libingraphs.la \
$(top_builddir)/lib/graph/libgraph.la \
- $(top_builddir)/plugin/layout/libgvplugin_neato_layout.la
+ $(top_builddir)/lib/plugin/libgvplugin_neato_layout.la
dijkstra_SOURCES = dijkstra.c
lib/ingraphs/Makefile
lib/gvc/Makefile
lib/gvc/libgvc.pc
- plugin/Makefile
- plugin/layout/Makefile
- plugin/usershape/Makefile
+ lib/plugin/Makefile
cmd/Makefile
cmd/dot/Makefile
cmd/tools/Makefile
## Process this file with automake to produce Makefile.in
SUBDIRS = cdt graph agraph gd pathplan agutil sfio vmalloc ast circogen \
- dotgen fdpgen neatogen pack twopigen common gvc ingraphs expr
+ dotgen fdpgen neatogen pack twopigen plugin common gvc ingraphs expr
EXTRA_DIST = Makefile.old
pkglib_LTLIBRARIES = libgvc.la
pkgconfig_DATA = libgvc.pc
-libgvc_la_SOURCES = gvrender.c gvlayout.c gvtextlayout.c gvdevice.c \
+libgvc_la_SOURCES = builtins.c gvrender.c gvlayout.c gvtextlayout.c gvdevice.c \
gvcontext.c gvjobs.c gvevent.c gvplugin.c gvconfig.c gvusershape.c \
gvc.c
$(top_builddir)/lib/common/libcommon.la \
$(top_builddir)/lib/graph/libgraph.la \
$(top_builddir)/lib/pathplan/libpathplan.la \
- $(top_builddir)/plugin/libplugins.la \
+ $(top_builddir)/lib/plugin/libgvplugin_dot_layout.la \
+ $(top_builddir)/lib/plugin/libgvplugin_neato_layout.la \
+ $(top_builddir)/lib/plugin/libgvplugin_usershape_gd.la \
@GD_LIBS@ @EXPAT_LIBS@ @Z_LIBS@ @LIBGEN_LIBS@
EXTRA_DIST = Makefile.old
--- /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 *
+**********************************************************/
+
+#include "gvplugin.h"
+
+extern gvplugin_library_t
+ gvplugin_dot_layout_LTX_library,
+ gvplugin_neato_layout_LTX_library,
+ gvplugin_usershape_gd_LTX_library;
+
+gvplugin_library_t *builtins[] = {
+ &gvplugin_dot_layout_LTX_library,
+ &gvplugin_neato_layout_LTX_library,
+ &gvplugin_usershape_gd_LTX_library,
+ NULL
+};
+
--- /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 *
+**********************************************************/
+
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdio.h>
+
+#include "macros.h"
+#include "const.h"
+#include "types.h"
+
+#include "gvplugin_layout.h"
+
+typedef enum { LAYOUT_DOT, } layout_type;
+
+extern void dot_layout(graph_t * g);
+extern void dot_cleanup(graph_t * g);
+
+gvlayout_engine_t dotgen_engine = {
+ dot_layout,
+ dot_cleanup,
+};
+
+gvlayout_features_t dotgen_features = {
+ LAYOUT_USES_RANKDIR,
+};
+
+gvplugin_installed_t gvlayout_dot_layout[] = {
+ {LAYOUT_DOT, "dot", 0, &dotgen_engine, &dotgen_features},
+ {0, NULL, 0, NULL, NULL}
+};
--- /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 *
+**********************************************************/
+
+#include "gvplugin.h"
+
+extern gvplugin_installed_t gvlayout_dot_layout;
+
+static gvplugin_api_t apis[] = {
+ {API_layout, &gvlayout_dot_layout},
+ {(api_t)0, NULL},
+};
+
+gvplugin_library_t gvplugin_dot_layout_LTX_library = { "dot_layout", apis };
--- /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 *
+**********************************************************/
+
+/*
+ * neato layout plugin
+ *
+ */
+
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdio.h>
+
+#include "macros.h"
+#include "const.h"
+#include "types.h"
+
+#include "gvplugin_layout.h"
+
+typedef enum { LAYOUT_NEATO,
+ LAYOUT_FDP,
+ LAYOUT_TWOPI,
+ LAYOUT_CIRCO,
+ } layout_type;
+
+extern void neato_layout(graph_t * g);
+extern void fdp_layout(graph_t * g);
+extern void twopi_layout(graph_t * g);
+extern void circo_layout(graph_t * g);
+
+extern void neato_cleanup(graph_t * g);
+extern void fdp_cleanup(graph_t * g);
+extern void twopi_cleanup(graph_t * g);
+extern void circo_cleanup(graph_t * g);
+
+gvlayout_engine_t neatogen_engine = {
+ neato_layout,
+ neato_cleanup,
+};
+
+gvlayout_engine_t fdpgen_engine = {
+ fdp_layout,
+ fdp_cleanup,
+};
+
+gvlayout_engine_t twopigen_engine = {
+ twopi_layout,
+ twopi_cleanup,
+};
+
+gvlayout_engine_t circogen_engine = {
+ circo_layout,
+ circo_cleanup,
+};
+
+gvlayout_features_t neatogen_features = {
+ 0,
+};
+
+gvplugin_installed_t gvlayout_neato_types[] = {
+ {LAYOUT_NEATO, "neato", 0, &neatogen_engine, &neatogen_features},
+ {LAYOUT_FDP, "fdp", 0, &fdpgen_engine, &neatogen_features},
+ {LAYOUT_TWOPI, "twopi", 0, &twopigen_engine, &neatogen_features},
+ {LAYOUT_CIRCO, "circo", 0, &circogen_engine, &neatogen_features},
+ {0, NULL, 0, NULL, NULL}
+};
--- /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 *
+**********************************************************/
+
+#include "gvplugin.h"
+
+extern gvplugin_installed_t gvlayout_neato_types;
+
+static gvplugin_api_t apis[] = {
+ {API_layout, &gvlayout_neato_types},
+ {(api_t)0, NULL},
+};
+
+gvplugin_library_t gvplugin_neato_layout_LTX_library = { "neato_layout", apis };