00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GVRENDER_H
00021 #define GVRENDER_H
00022
00023 #include "gvrenderint.h"
00024
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028
00029
00030
00031 extern GVC_t *gvNEWcontext(char **info, char *user);
00032 extern void gvBindContext(GVC_t * gvc, graph_t * g);
00033 extern void gvFREEcontext(GVC_t * gvc);
00034
00035
00036
00037 extern void gvconfig(GVC_t * gvc, char *config);
00038 extern boolean gvconfig_install_plugin(GVC_t * gvc, char *api,
00039 char *type, char *path,
00040 void *fn);
00041 extern gv_plugin_t *gvconfig_load_plugin(GVC_t * gvc, char *api,
00042 char *type);
00043 extern char *gvconfig_list_plugins(GVC_t * gvc, char *api);
00044
00045
00046
00047 extern void gvrender_output_filename_job(GVC_t * gvc, char *name);
00048 extern void gvrender_output_langname_job(GVC_t * gvc, char *name);
00049 extern gvrender_job_t *gvrender_first_job(GVC_t * gvc);
00050 extern gvrender_job_t *gvrender_next_job(GVC_t * gvc);
00051 extern void gvrender_delete_jobs(GVC_t * gvc);
00052
00053
00054
00055 extern int gvlang_select(GVC_t * gvc, char *name, int warn);
00056 extern char *gvlang_name(int langID);
00057
00058
00059
00060 extern int gvrender_features(GVC_t * gvc);
00061 extern void gvrender_reset(GVC_t * gvc);
00062 extern void gvrender_begin_job(GVC_t * gvc, char **lib, point pages);
00063 extern void gvrender_end_job(GVC_t * gvc);
00064 extern void gvrender_begin_graph(GVC_t * gvc, graph_t * g, box bb,
00065 point pb);
00066 extern void gvrender_end_graph(GVC_t * gvc);
00067 extern void gvrender_begin_page(GVC_t * gvc, point page, double scale,
00068 int rot, point offset);
00069 extern void gvrender_end_page(GVC_t * gvc);
00070 extern void gvrender_begin_layer(GVC_t * gvc, char *layerName, int n,
00071 int nLayers);
00072 extern void gvrender_end_layer(GVC_t * gvc);
00073 extern void gvrender_begin_cluster(GVC_t * gvc, graph_t * sg);
00074 extern void gvrender_end_cluster(GVC_t * gvc);
00075 extern void gvrender_begin_nodes(GVC_t * gvc);
00076 extern void gvrender_end_nodes(GVC_t * gvc);
00077 extern void gvrender_begin_edges(GVC_t * gvc);
00078 extern void gvrender_end_edges(GVC_t * gvc);
00079 extern void gvrender_begin_node(GVC_t * gvc, node_t * n);
00080 extern void gvrender_end_node(GVC_t * gvc);
00081 extern void gvrender_begin_edge(GVC_t * gvc, edge_t * e);
00082 extern void gvrender_end_edge(GVC_t * gvc);
00083 extern void gvrender_begin_context(GVC_t * gvc);
00084 extern void gvrender_end_context(GVC_t * gvc);
00085 extern void gvrender_begin_anchor(GVC_t * gvc, char *href,
00086 char *tooltip, char *target);
00087 extern void gvrender_end_anchor(GVC_t * gvc);
00088 extern void gvrender_set_font(GVC_t * gvc, char *fontname,
00089 double fontsize);
00090 extern void gvrender_textline(GVC_t * gvc, pointf p, textline_t * str);
00091 extern void gvrender_set_pencolor(GVC_t * gvc, char *name);
00092 extern void gvrender_set_fillcolor(GVC_t * gvc, char *name);
00093 extern void gvrender_set_style(GVC_t * gvc, char **s);
00094 extern void gvrender_ellipse(GVC_t * gvc, point p, int rx, int ry,
00095 int filled);
00096 extern void gvrender_polygon(GVC_t * gvc, point * A, int n,
00097 int filled);
00098 extern void gvrender_beziercurve(GVC_t * gvc, pointf * AF, int n,
00099 int arrow_at_start, int arrow_at_end);
00100 extern void gvrender_polyline(GVC_t * gvc, point * A, int n);
00101 extern void gvrender_comment(GVC_t * gvc, void *obj, attrsym_t * sym);
00102 extern void gvrender_user_shape(GVC_t * gvc, char *name, point * A,
00103 int sides, int filled);
00104
00105 #ifdef __cplusplus
00106 }
00107 #endif
00108 #endif