Graphviz
2.41.20171026.1811
Main Page
Data Structures
Files
File List
Globals
lib
gvc
gvplugin.h
Go to the documentation of this file.
1
/* $Id$ $Revision$ */
2
/* vim:set shiftwidth=4 ts=8: */
3
4
/*************************************************************************
5
* Copyright (c) 2011 AT&T Intellectual Property
6
* All rights reserved. This program and the accompanying materials
7
* are made available under the terms of the Eclipse Public License v1.0
8
* which accompanies this distribution, and is available at
9
* http://www.eclipse.org/legal/epl-v10.html
10
*
11
* Contributors: See CVS logs. Details at http://www.graphviz.org/
12
*************************************************************************/
13
14
/* Header used by plugins */
15
16
#ifndef GVPLUGIN_H
17
#define GVPLUGIN_H
18
19
#ifdef __cplusplus
20
extern
"C"
{
21
#endif
22
23
#include "
gvcext.h
"
24
25
/*
26
* Terminology:
27
*
28
* package - e.g. libgvplugin_cairo.so
29
* api - e.g. render
30
* type - e.g. "png", "ps"
31
*/
32
33
typedef
struct
{
34
int
id
;
/* an id that is only unique within a package
35
of plugins of the same api.
36
A renderer-type such as "png" in the cairo package
37
has an id that is different from the "ps" type
38
in the same package */
39
const
char
*
type
;
/* a string name, such as "png" or "ps" that
40
distinguishes different types within the same
41
(renderer in this case) */
42
int
quality
;
/* an arbitrary integer used for ordering plugins of
43
the same type from different packages */
44
void
*
engine
;
/* pointer to the jump table for the plugin */
45
void
*
features
;
/* pointer to the feature description
46
void* because type varies by api */
47
}
gvplugin_installed_t
;
48
49
typedef
struct
{
50
api_t
api
;
51
gvplugin_installed_t
*
types
;
52
}
gvplugin_api_t
;
53
54
typedef
struct
{
55
char
*
packagename
;
/* used when this plugin is builtin and has
56
no pathname */
57
gvplugin_api_t
*
apis
;
58
}
gvplugin_library_t
;
59
60
#ifdef __cplusplus
61
}
62
#endif
63
#endif
/* GVPLUGIN_H */
gvplugin_api_t
Definition:
gvplugin.h:49
gvplugin_library_t::packagename
char * packagename
Definition:
gvplugin.h:55
api_t
api_t
Definition:
gvcext.h:34
gvplugin_installed_t::type
const char * type
Definition:
gvplugin.h:39
gvplugin_library_t
Definition:
gvplugin.h:54
gvplugin_installed_t::engine
void * engine
Definition:
gvplugin.h:44
gvplugin_library_t::apis
gvplugin_api_t * apis
Definition:
gvplugin.h:57
gvplugin_api_t::api
api_t api
Definition:
gvplugin.h:50
gvplugin_installed_t
Definition:
gvplugin.h:33
gvplugin_installed_t::quality
int quality
Definition:
gvplugin.h:42
gvplugin_installed_t::features
void * features
Definition:
gvplugin.h:45
gvcext.h
gvplugin_installed_t::id
int id
Definition:
gvplugin.h:34
gvplugin_api_t::types
gvplugin_installed_t * types
Definition:
gvplugin.h:51
Generated by
1.8.5