Graphviz  2.29.20120524.0446
lib/gvc/gvplugin_render.h
Go to the documentation of this file.
00001 /* $Id$ $Revision$ */
00002 /* vim:set shiftwidth=4 ts=8: */
00003 
00004 /*************************************************************************
00005  * Copyright (c) 2011 AT&T Intellectual Property 
00006  * All rights reserved. This program and the accompanying materials
00007  * are made available under the terms of the Eclipse Public License v1.0
00008  * which accompanies this distribution, and is available at
00009  * http://www.eclipse.org/legal/epl-v10.html
00010  *
00011  * Contributors: See CVS logs. Details at http://www.graphviz.org/
00012  *************************************************************************/
00013 
00014 #ifndef GVPLUGIN_RENDER_H
00015 #define GVPLUGIN_RENDER_H
00016 
00017 #include "types.h"
00018 #include "gvplugin.h"
00019 #include "gvcjob.h"
00020 
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024 
00025     struct gvrender_engine_s {
00026         void (*begin_job) (GVJ_t * job);
00027         void (*end_job) (GVJ_t * job);
00028         void (*begin_graph) (GVJ_t * job);
00029         void (*end_graph) (GVJ_t * job);
00030         void (*begin_layer) (GVJ_t * job, char *layername,
00031                              int layerNum, int numLayers);
00032         void (*end_layer) (GVJ_t * job);
00033         void (*begin_page) (GVJ_t * job);
00034         void (*end_page) (GVJ_t * job);
00035         void (*begin_cluster) (GVJ_t * job);
00036         void (*end_cluster) (GVJ_t * job);
00037         void (*begin_nodes) (GVJ_t * job);
00038         void (*end_nodes) (GVJ_t * job);
00039         void (*begin_edges) (GVJ_t * job);
00040         void (*end_edges) (GVJ_t * job);
00041         void (*begin_node) (GVJ_t * job);
00042         void (*end_node) (GVJ_t * job);
00043         void (*begin_edge) (GVJ_t * job);
00044         void (*end_edge) (GVJ_t * job);
00045         void (*begin_anchor) (GVJ_t * job,
00046                 char *href, char *tooltip, char *target, char *id);
00047         void (*end_anchor) (GVJ_t * job);
00048         void (*begin_label) (GVJ_t * job, label_type type);
00049         void (*end_label) (GVJ_t * job);
00050         void (*textpara) (GVJ_t * job, pointf p, textpara_t * str);
00051         void (*resolve_color) (GVJ_t * job, gvcolor_t * color);
00052         void (*ellipse) (GVJ_t * job, pointf * A, int filled);
00053         void (*polygon) (GVJ_t * job, pointf * A, int n, int filled);
00054         void (*beziercurve) (GVJ_t * job, pointf * A, int n,
00055                              int arrow_at_start, int arrow_at_end, int);
00056         void (*polyline) (GVJ_t * job, pointf * A, int n);
00057         void (*comment) (GVJ_t * job, char *comment);
00058         void (*library_shape) (GVJ_t * job, char *name, pointf * A, int n, int filled);
00059     };
00060 
00061 #ifdef __cplusplus
00062 }
00063 #endif
00064 #endif                          /* GVPLUGIN_RENDER_H */