Mercurial > hg > camir-aes2014
comparison 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e9a9cd732c1e |
---|---|
1 /* $Id: gvplugin.h,v 1.31 2009/07/14 13:18:07 ellson Exp $ $Revision: 1.31 $ */ | |
2 /* vim:set shiftwidth=4 ts=8: */ | |
3 | |
4 /********************************************************** | |
5 * This software is part of the graphviz package * | |
6 * http://www.graphviz.org/ * | |
7 * * | |
8 * Copyright (c) 1994-2004 AT&T Corp. * | |
9 * and is licensed under the * | |
10 * Common Public License, Version 1.0 * | |
11 * by AT&T Corp. * | |
12 * * | |
13 * Information and Software Systems Research * | |
14 * AT&T Research, Florham Park NJ * | |
15 **********************************************************/ | |
16 | |
17 /* Header used by plugins */ | |
18 | |
19 #ifndef GVPLUGIN_H | |
20 #define GVPLUGIN_H | |
21 | |
22 #ifdef __cplusplus | |
23 extern "C" { | |
24 #endif | |
25 | |
26 #include "gvcext.h" | |
27 | |
28 /* | |
29 * Terminology: | |
30 * | |
31 * package - e.g. libgvplugin_cairo.so | |
32 * api - e.g. render | |
33 * type - e.g. "png", "ps" | |
34 */ | |
35 | |
36 typedef struct { | |
37 int id; /* an id that is only unique within a package | |
38 of plugins of the same api. | |
39 A renderer-type such as "png" in the cairo package | |
40 has an id that is different from the "ps" type | |
41 in the same package */ | |
42 const char *type; /* a string name, such as "png" or "ps" that | |
43 distinguishes different types withing the same | |
44 (renderer in this case) */ | |
45 int quality; /* an arbitrary integer used for ordering plugins of | |
46 the same type from different packages */ | |
47 void *engine; /* pointer to the jump table for the plugin */ | |
48 void *features; /* pointer to the feature description | |
49 void* because type varies by api */ | |
50 } gvplugin_installed_t; | |
51 | |
52 typedef struct { | |
53 api_t api; | |
54 gvplugin_installed_t *types; | |
55 } gvplugin_api_t; | |
56 | |
57 typedef struct { | |
58 char *packagename; /* used when this plugin is builtin and has | |
59 no pathname */ | |
60 gvplugin_api_t *apis; | |
61 } gvplugin_library_t; | |
62 | |
63 #ifdef __cplusplus | |
64 } | |
65 #endif | |
66 #endif /* GVPLUGIN_H */ |