Graphviz  2.29.20120524.0446
lib/gvc/gvcproc.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 /* This is the public header for the callers of libgvc */
00015 
00016 #ifndef GVCPROC_H
00017 #define GVCPROC_H
00018 
00019 #define extern
00020 
00021 /* these are intended to be private entry points - see gvc.h for the public ones */
00022 
00023 /* configuration */
00024 
00025     extern char *gvconfig_libdir(GVC_t * gvc);
00026     extern void gvconfig(GVC_t * gvc, boolean rescan);
00027     extern char *gvhostname(void);
00028 
00029 /* plugins */
00030 
00031     extern boolean gvplugin_install(GVC_t * gvc, api_t api,
00032                     const char *typestr, int quality, gvplugin_package_t *package,
00033                     gvplugin_installed_t * typeptr);
00034     extern gvplugin_available_t *gvplugin_load(GVC_t * gvc, api_t api, const char *type);
00035     extern gvplugin_library_t *gvplugin_library_load(GVC_t *gvc, char *path);
00036     extern api_t gvplugin_api(char *str);
00037     extern char * gvplugin_api_name(api_t api);
00038     extern void gvplugin_write_status(GVC_t * gvc);
00039     extern char *gvplugin_list(GVC_t * gvc, api_t api, const char *str);
00040 
00041     extern Agraph_t * gvplugin_graph(GVC_t * gvc);
00042 
00043 /* job */
00044 
00045     extern void gvjobs_output_filename(GVC_t * gvc, const char *name);
00046     extern boolean gvjobs_output_langname(GVC_t * gvc, const char *name);
00047     extern GVJ_t *gvjobs_first(GVC_t * gvc);
00048     extern GVJ_t *gvjobs_next(GVC_t * gvc);
00049     extern void gvjobs_delete(GVC_t * gvc);
00050 
00051 /* emit */
00052     extern void gvemit_graph(GVC_t * gvc, graph_t * g);
00053 
00054 /* textlayout */
00055 
00056     extern int gvtextlayout_select(GVC_t * gvc);
00057     extern boolean gvtextlayout(GVC_t *gvc, textpara_t *para, char **fontpath);
00058 
00059 /* loadimage */
00060     extern void gvloadimage(GVJ_t *job, usershape_t *us, boxf b, boolean filled, const char *target);
00061     
00062 /* usershapes */
00063     extern point gvusershape_size_dpi(usershape_t *us, pointf dpi);
00064     extern point gvusershape_size(graph_t *g, char *name);
00065     extern usershape_t *gvusershape_find(char *name);
00066 
00067 /* device */
00068     extern int gvdevice_initialize(GVJ_t * job);
00069     extern void gvdevice_format(GVJ_t * job);
00070     extern void gvdevice_finalize(GVJ_t * job);
00071 
00072 /* render */
00073 
00074     extern pointf gvrender_ptf(GVJ_t *job, pointf p);
00075     extern pointf* gvrender_ptf_A(GVJ_t *job, pointf *af, pointf *AF, int n);
00076 
00077     extern int gvrender_begin_job(GVJ_t * job);
00078     extern void gvrender_end_job(GVJ_t * job);
00079     extern int gvrender_select(GVJ_t * job, const char *lang);
00080     extern int gvrender_features(GVJ_t * job);
00081     extern void gvrender_begin_graph(GVJ_t * job, graph_t * g);
00082     extern void gvrender_end_graph(GVJ_t * job);
00083     extern void gvrender_begin_page(GVJ_t * job);
00084     extern void gvrender_end_page(GVJ_t * job);
00085     extern void gvrender_begin_layer(GVJ_t * job);
00086     extern void gvrender_end_layer(GVJ_t * job);
00087     extern void gvrender_begin_cluster(GVJ_t * job, graph_t * sg);
00088     extern void gvrender_end_cluster(GVJ_t * job, graph_t *g);
00089     extern void gvrender_begin_nodes(GVJ_t * job);
00090     extern void gvrender_end_nodes(GVJ_t * job);
00091     extern void gvrender_begin_edges(GVJ_t * job);
00092     extern void gvrender_end_edges(GVJ_t * job);
00093     extern void gvrender_begin_node(GVJ_t * job, node_t * n);
00094     extern void gvrender_end_node(GVJ_t * job);
00095     extern void gvrender_begin_edge(GVJ_t * job, edge_t * e);
00096     extern void gvrender_end_edge(GVJ_t * job);
00097     extern void gvrender_begin_anchor(GVJ_t * job,
00098                 char *href, char *tooltip, char *target, char *id);
00099     extern void gvrender_end_anchor(GVJ_t * job);
00100     extern void gvrender_begin_label(GVJ_t * job, label_type type);
00101     extern void gvrender_end_label(GVJ_t * job);
00102     extern void gvrender_textpara(GVJ_t * job, pointf p, textpara_t * para);
00103     extern void gvrender_set_pencolor(GVJ_t * job, char *name);
00104     extern void gvrender_set_penwidth(GVJ_t * job, double penwidth);
00105     extern void gvrender_set_fillcolor(GVJ_t * job, char *name);
00106     extern void gvrender_set_gradient_vals (GVJ_t * job, char *stopcolor, int angle);
00107 
00108     extern void gvrender_set_style(GVJ_t * job, char **s);
00109     extern void gvrender_ellipse(GVJ_t * job, pointf * AF, int n, int filled);
00110     extern void gvrender_polygon(GVJ_t* job, pointf* af, int n, int filled);
00111     extern void gvrender_box(GVJ_t * job, boxf BF, int filled);
00112     extern void gvrender_beziercurve(GVJ_t * job, pointf * AF, int n,
00113                         int arrow_at_start, int arrow_at_end, boolean filled);
00114     extern void gvrender_polyline(GVJ_t * job, pointf * AF, int n);
00115     extern void gvrender_comment(GVJ_t * job, char *str);
00116     extern void gvrender_usershape(GVJ_t * job, char *name, pointf * AF, int n, boolean filled, char *imagescale);
00117 
00118 /* layout */
00119 
00120     extern int gvlayout_select(GVC_t * gvc, const char *str);
00121     extern int gvFreeLayout(GVC_t * gvc, Agraph_t * g);
00122     extern int gvLayoutJobs(GVC_t * gvc, Agraph_t * g);
00123 
00124 /* argvlist */
00125     extern gv_argvlist_t *gvNEWargvlist(void);
00126     extern void gv_argvlist_set_item(gv_argvlist_t *list, int index, char *item);
00127     extern void gv_argvlist_reset(gv_argvlist_t *list);
00128     extern void gv_argvlist_free(gv_argvlist_t *list);
00129 
00130 #undef extern
00131 
00132 #endif                          /* GVCPROC_H */