/misc/src/release/graphviz-2.18-1/src/graphviz-2.18/lib/gvc/gvplugin_render.h

Go to the documentation of this file.
00001 /* $Id: gvplugin_render.h,v 1.29 2007/12/19 22:03:36 ellson Exp $ $Revision: 1.29 $ */
00002 /* vim:set shiftwidth=4 ts=8: */
00003 
00004 /**********************************************************
00005 *      This software is part of the graphviz package      *
00006 *                http://www.graphviz.org/                 *
00007 *                                                         *
00008 *            Copyright (c) 1994-2004 AT&T Corp.           *
00009 *                and is licensed under the                *
00010 *            Common Public License, Version 1.0           *
00011 *                      by AT&T Corp.                      *
00012 *                                                         *
00013 *        Information and Software Systems Research        *
00014 *              AT&T Research, Florham Park NJ             *
00015 **********************************************************/
00016 
00017 #ifndef GVPLUGIN_RENDER_H
00018 #define GVPLUGIN_RENDER_H
00019 
00020 #include "types.h"
00021 #include "gvplugin.h"
00022 #include "gvcjob.h"
00023 
00024 extern void gvdevice_fputs(GVJ_t * job, char *s);
00025 extern void gvdevice_printf(GVJ_t * job, const char *format, ...);
00026 extern void gvdevice_printnum(GVJ_t * job, double num);
00027 extern void gvdevice_printpointf(GVJ_t * job, pointf p);
00028 extern void gvdevice_printpointflist(GVJ_t * job, pointf *p, int n);
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00034     struct gvrender_engine_s {
00035         void (*begin_job) (GVJ_t * job);
00036         void (*end_job) (GVJ_t * job);
00037         void (*begin_graph) (GVJ_t * job);
00038         void (*end_graph) (GVJ_t * job);
00039         void (*begin_layer) (GVJ_t * job, char *layername,
00040                              int layerNum, int numLayers);
00041         void (*end_layer) (GVJ_t * job);
00042         void (*begin_page) (GVJ_t * job);
00043         void (*end_page) (GVJ_t * job);
00044         void (*begin_cluster) (GVJ_t * job);
00045         void (*end_cluster) (GVJ_t * job);
00046         void (*begin_nodes) (GVJ_t * job);
00047         void (*end_nodes) (GVJ_t * job);
00048         void (*begin_edges) (GVJ_t * job);
00049         void (*end_edges) (GVJ_t * job);
00050         void (*begin_node) (GVJ_t * job);
00051         void (*end_node) (GVJ_t * job);
00052         void (*begin_edge) (GVJ_t * job);
00053         void (*end_edge) (GVJ_t * job);
00054         void (*begin_anchor) (GVJ_t * job, char *href, char *tooltip,
00055                               char *target);
00056         void (*end_anchor) (GVJ_t * job);
00057         void (*textpara) (GVJ_t * job, pointf p, textpara_t * str);
00058         void (*resolve_color) (GVJ_t * job, gvcolor_t * color);
00059         void (*ellipse) (GVJ_t * job, pointf * A, int filled);
00060         void (*polygon) (GVJ_t * job, pointf * A, int n, int filled);
00061         void (*beziercurve) (GVJ_t * job, pointf * A, int n,
00062                              int arrow_at_start, int arrow_at_end, int);
00063         void (*polyline) (GVJ_t * job, pointf * A, int n);
00064         void (*comment) (GVJ_t * job, char *comment);
00065         void (*library_shape) (GVJ_t * job, char *name, pointf * A, int n, int filled);
00066     };
00067 
00068 #ifdef __cplusplus
00069 }
00070 #endif
00071 #endif                          /* GVPLUGIN_RENDER_H */

Generated on Mon Mar 31 19:03:27 2008 for Graphviz by  doxygen 1.5.1