|
Graphviz
2.29.20120524.0446
|
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 */
1.7.5