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

Go to the documentation of this file.
00001 /* $Id: gvcproc.h,v 1.35 2007/12/21 01:48:33 ellson Exp $ $Revision: 1.35 $ */
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 /* This is the public header for the callers of libgvc */
00018 
00019 #ifndef GVCPROC_H
00020 #define GVCPROC_H
00021 
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025 
00026 /* these are intended to be private entry points - see gvc.h for the public ones */
00027 
00028 /* configuration */
00029 
00030     extern char *gvconfig_libdir(void);
00031     extern void gvconfig(GVC_t * gvc, boolean rescan);
00032     extern char *gvhostname(void);
00033 
00034 /* plugins */
00035 
00036     extern boolean gvplugin_install(GVC_t * gvc, api_t api,
00037                     char *typestr, int quality, char *packagename, char *path,
00038                     gvplugin_installed_t * typeptr);
00039     extern gvplugin_available_t *gvplugin_load(GVC_t * gvc, api_t api, char *type);
00040     extern gvplugin_library_t *gvplugin_library_load(GVC_t *gvc, char *path);
00041     extern const char *gvplugin_list(GVC_t * gvc, api_t api, char *str);
00042     extern api_t gvplugin_api(char *str);
00043     extern char * gvplugin_api_name(api_t api);
00044     extern void gvplugin_write_status(GVC_t * gvc);
00045 
00046 /* job */
00047 
00048     extern void gvjobs_output_filename(GVC_t * gvc, char *name);
00049     extern boolean gvjobs_output_langname(GVC_t * gvc, char *name);
00050     extern GVJ_t *gvjobs_first(GVC_t * gvc);
00051     extern GVJ_t *gvjobs_next(GVC_t * gvc);
00052     extern void gvjobs_delete(GVC_t * gvc);
00053 
00054 /* emit */
00055     extern void gvemit_graph(GVC_t * gvc, graph_t * g);
00056 
00057 /* textlayout */
00058 
00059     extern int gvtextlayout_select(GVC_t * gvc);
00060     extern boolean gvtextlayout(GVC_t *gvc, textpara_t *para, char **fontpath);
00061 
00062 /* loadimage */
00063     extern void gvloadimage(GVJ_t *job, usershape_t *us, boxf b, boolean filled, char *target);
00064     
00065 /* usershapes */
00066     extern point gvusershape_size_dpi(usershape_t*, pointf);
00067     extern point gvusershape_size(graph_t *g, char *name);
00068     extern usershape_t *gvusershape_find(char *name);
00069 
00070 /* device */
00071 
00072     extern size_t gvdevice_write (GVJ_t * job, const unsigned char *s, unsigned int len);
00073     extern void gvdevice_fputs(GVJ_t * job, char *s);
00074     extern void gvdevice_printf(GVJ_t * job, const char *format, ...);
00075 
00076     extern void gvdevice_initialize(GVJ_t * job);
00077     extern void gvdevice_format(GVJ_t * job);
00078     extern void gvdevice_finalize(GVJ_t * job);
00079 
00080     extern void gvdevice_printnum(GVJ_t * job, double num);
00081     extern void gvdevice_printpointf(GVJ_t * job, pointf p);
00082     extern void gvdevice_printpointflist(GVJ_t * job, pointf *p, int n);
00083 
00084 /* render */
00085 
00086     extern pointf gvrender_ptf(GVJ_t *job, pointf p);
00087     extern pointf* gvrender_ptf_A(GVJ_t *job, pointf *af, pointf *AF, int n);
00088 
00089     extern void gvrender_begin_job(GVJ_t * job);
00090     extern void gvrender_end_job(GVJ_t * job);
00091     extern int gvrender_select(GVJ_t * job, char *lang);
00092     extern int gvrender_features(GVJ_t * job);
00093     extern void gvrender_begin_graph(GVJ_t * job, graph_t * g);
00094     extern void gvrender_end_graph(GVJ_t * job);
00095     extern void gvrender_begin_page(GVJ_t * job);
00096     extern void gvrender_end_page(GVJ_t * job);
00097     extern void gvrender_begin_layer(GVJ_t * job);
00098     extern void gvrender_end_layer(GVJ_t * job);
00099     extern void gvrender_begin_cluster(GVJ_t * job, graph_t * sg);
00100     extern void gvrender_end_cluster(GVJ_t * job, graph_t *g);
00101     extern void gvrender_begin_nodes(GVJ_t * job);
00102     extern void gvrender_end_nodes(GVJ_t * job);
00103     extern void gvrender_begin_edges(GVJ_t * job);
00104     extern void gvrender_end_edges(GVJ_t * job);
00105     extern void gvrender_begin_node(GVJ_t * job, node_t * n);
00106     extern void gvrender_end_node(GVJ_t * job);
00107     extern void gvrender_begin_edge(GVJ_t * job, edge_t * e);
00108     extern void gvrender_end_edge(GVJ_t * job);
00109     extern void gvrender_begin_context(GVJ_t * job);
00110     extern void gvrender_end_context(GVJ_t * job);
00111     extern void gvrender_begin_anchor(GVJ_t * job, char *href,
00112                         char *tooltip, char *target);
00113     extern void gvrender_end_anchor(GVJ_t * job);
00114     extern void gvrender_set_font(GVJ_t * job, char *fontname,
00115                         double fontsize);
00116     extern void gvrender_textpara(GVJ_t * job, pointf p, textpara_t * para);
00117     extern void gvrender_set_pencolor(GVJ_t * job, char *name);
00118     extern void gvrender_set_penwidth(GVJ_t * job, double penwidth);
00119     extern void gvrender_set_fillcolor(GVJ_t * job, char *name);
00120     extern void gvrender_set_style(GVJ_t * job, char **s);
00121     extern void gvrender_ellipse(GVJ_t * job, pointf * AF, int n, boolean filled);
00122     extern void gvrender_polygon(GVJ_t * job, pointf * AF, int n, boolean filled);
00123     extern void gvrender_box(GVJ_t * job, boxf BF, boolean filled);
00124     extern void gvrender_beziercurve(GVJ_t * job, pointf * AF, int n,
00125                         int arrow_at_start, int arrow_at_end, boolean filled);
00126     extern void gvrender_polyline(GVJ_t * job, pointf * AF, int n);
00127     extern void gvrender_comment(GVJ_t * job, char *str);
00128     extern void gvrender_usershape(GVJ_t * job, char *name, pointf * AF, int n, boolean filled, char *imagescale);
00129 
00130 /* layout */
00131 
00132     extern int gvlayout_select(GVC_t * gvc, char *str);
00133     extern int gvFreeLayout(GVC_t * gvc, graph_t * g);
00134     extern int gvLayoutJobs(GVC_t * gvc, graph_t * g);
00135 
00136 /* argvlist */
00137     extern gv_argvlist_t *gvNEWargvlist(void);
00138     extern void gv_argvlist_set_item(gv_argvlist_t *list, int index, char *item);
00139     extern void gv_argvlist_reset(gv_argvlist_t *list);
00140     extern void gv_argvlist_free(gv_argvlist_t *list);
00141 
00142 #ifdef __cplusplus
00143 }
00144 #endif
00145 #endif                          /* GVCPROC_H */

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