00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GVCPROC_H
00020 #define GVCPROC_H
00021
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025
00026
00027
00028
00029
00030 extern char *gvconfig_libdir(void);
00031 extern void gvconfig(GVC_t * gvc, boolean rescan);
00032 extern char *gvhostname(void);
00033
00034
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
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
00055 extern void gvemit_graph(GVC_t * gvc, graph_t * g);
00056
00057
00058
00059 extern int gvtextlayout_select(GVC_t * gvc);
00060 extern boolean gvtextlayout(GVC_t *gvc, textpara_t *para, char **fontpath);
00061
00062
00063 extern void gvloadimage(GVJ_t *job, usershape_t *us, boxf b, boolean filled, char *target);
00064
00065
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
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
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
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
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