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#ifndef GVPLUGIN_RENDER_H
15#define GVPLUGIN_RENDER_H
16
17#include "types.h"
18#include "gvplugin.h"
19#include "gvcjob.h"
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25 struct gvrender_engine_s {
26 void (*begin_job) (GVJ_t * job);
27 void (*end_job) (GVJ_t * job);
28 void (*begin_graph) (GVJ_t * job);
29 void (*end_graph) (GVJ_t * job);
30 void (*begin_layer) (GVJ_t * job, char *layername,
31 int layerNum, int numLayers);
32 void (*end_layer) (GVJ_t * job);
33 void (*begin_page) (GVJ_t * job);
34 void (*end_page) (GVJ_t * job);
35 void (*begin_cluster) (GVJ_t * job);
36 void (*end_cluster) (GVJ_t * job);
37 void (*begin_nodes) (GVJ_t * job);
38 void (*end_nodes) (GVJ_t * job);
39 void (*begin_edges) (GVJ_t * job);
40 void (*end_edges) (GVJ_t * job);
41 void (*begin_node) (GVJ_t * job);
42 void (*end_node) (GVJ_t * job);
43 void (*begin_edge) (GVJ_t * job);
44 void (*end_edge) (GVJ_t * job);
45 void (*begin_anchor) (GVJ_t * job,
46 char *href, char *tooltip, char *target, char *id);
47 void (*end_anchor) (GVJ_t * job);
48 void (*begin_label) (GVJ_t * job, label_type type);
49 void (*end_label) (GVJ_t * job);
50 void (*textspan) (GVJ_t * job, pointf p, textspan_t * span);
51 void (*resolve_color) (GVJ_t * job, gvcolor_t * color);
52 void (*ellipse) (GVJ_t * job, pointf * A, int filled);
53 void (*polygon) (GVJ_t * job, pointf * A, int n, int filled);
54 void (*beziercurve) (GVJ_t * job, pointf * A, int n,
55 int arrow_at_start, int arrow_at_end, int);
56 void (*polyline) (GVJ_t * job, pointf * A, int n);
57 void (*comment) (GVJ_t * job, char *comment);
58 void (*library_shape) (GVJ_t * job, char *name, pointf * A, int n, int filled);
59 };
60
61#ifdef __cplusplus
62}
63#endif
64#endif /* GVPLUGIN_RENDER_H */
65