Mercurial > hg > camir-aes2014
diff toolboxes/graph_visualisation/include/graphviz/gvplugin.h @ 0:e9a9cd732c1e tip
first hg version after svn
author | wolffd |
---|---|
date | Tue, 10 Feb 2015 15:05:51 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolboxes/graph_visualisation/include/graphviz/gvplugin.h Tue Feb 10 15:05:51 2015 +0000 @@ -0,0 +1,66 @@ +/* $Id: gvplugin.h,v 1.31 2009/07/14 13:18:07 ellson Exp $ $Revision: 1.31 $ */ +/* 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 * +**********************************************************/ + +/* Header used by plugins */ + +#ifndef GVPLUGIN_H +#define GVPLUGIN_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "gvcext.h" + +/* + * Terminology: + * + * package - e.g. libgvplugin_cairo.so + * api - e.g. render + * type - e.g. "png", "ps" + */ + + typedef struct { + int id; /* an id that is only unique within a package + of plugins of the same api. + A renderer-type such as "png" in the cairo package + has an id that is different from the "ps" type + in the same package */ + const char *type; /* a string name, such as "png" or "ps" that + distinguishes different types withing the same + (renderer in this case) */ + int quality; /* an arbitrary integer used for ordering plugins of + the same type from different packages */ + void *engine; /* pointer to the jump table for the plugin */ + void *features; /* pointer to the feature description + void* because type varies by api */ + } gvplugin_installed_t; + + typedef struct { + api_t api; + gvplugin_installed_t *types; + } gvplugin_api_t; + + typedef struct { + char *packagename; /* used when this plugin is builtin and has + no pathname */ + gvplugin_api_t *apis; + } gvplugin_library_t; + +#ifdef __cplusplus +} +#endif +#endif /* GVPLUGIN_H */