00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020
00021 #ifndef HAVE_STRCASECMP
00022 extern int strcasecmp(const char *s1, const char *s2);
00023 #endif
00024 #ifndef HAVE_STRNCASECMP
00025 extern int strncasecmp(const char *s1, const char *s2, size_t n);
00026 #endif
00027
00028 extern nodequeue *new_queue(int);
00029 extern void free_queue(nodequeue *);
00030 extern void enqueue(nodequeue *, Agnode_t *);
00031 extern Agnode_t *dequeue(nodequeue *);
00032
00033 extern int late_attr(void *, char *);
00034 extern int late_int(void *, Agsym_t *, int, int);
00035 extern double late_double(void *, Agsym_t *, double, double);
00036 extern char *late_nnstring(void *, Agsym_t *, char *);
00037 extern char *late_string(void *, Agsym_t *, char *);
00038 extern boolean late_bool(void *, Agsym_t *, int);
00039
00040 extern Agnode_t *UF_find(Agnode_t *);
00041 extern Agnode_t *UF_union(Agnode_t *, Agnode_t *);
00042 extern void UF_remove(Agnode_t *, Agnode_t *);
00043 extern void UF_singleton(Agnode_t *);
00044 extern void UF_setname(Agnode_t *, Agnode_t *);
00045
00046 extern char *safefile(char *shapefilename);
00047 extern void cat_libfile(FILE *of, char **arglib, char **stdlib);
00048 extern void cat_preamble(GVJ_t *job, char **arglib);
00049
00050 extern boolean mapbool(char *);
00051 extern int maptoken(char *, char **, int *);
00052
00053 extern int test_toggle(void);
00054
00055 extern void common_init_node(node_t * n);
00056 extern int common_init_edge(edge_t * e);
00057
00058 extern void updateBB(graph_t * g, textlabel_t * lp);
00059 extern void update_bb(graph_t * g, point p);
00060 extern void compute_bb(Agraph_t *);
00061 extern boolean overlap_node(node_t *n, boxf b);
00062 extern boolean overlap_label(textlabel_t *lp, boxf b);
00063 extern boolean overlap_edge(edge_t *e, boxf b);
00064
00065 extern int processClusterEdges(graph_t * g);
00066 extern void undoClusterEdges(graph_t * g);
00067 extern attrsym_t* safe_dcl(graph_t*, void*, char*, char*,
00068 attrsym_t * (*fun) (Agraph_t *, char *, char *));
00069
00070 extern char *latin1ToUTF8(char *);
00071 extern char *htmlEntityUTF8(char *);
00072 extern char* utf8ToLatin1 (char* ins);
00073 extern char* scanEntity (char* t, agxbuf* xb);
00074
00075 extern pointf Bezier(pointf *, int, double, pointf *, pointf *);
00076 extern point dotneato_closest(splines * spl, point p);
00077 extern point neato_closest(splines * spl, point p);
00078 extern point spline_at_y(splines * spl, int y);
00079
00080 extern void setEdgeType (graph_t* g, int dflt);
00081 #ifdef __cplusplus
00082 }
00083 #endif