/misc/src/release/graphviz-2.18-1/src/graphviz-2.18/lib/common/utils.h

Go to the documentation of this file.
00001 /* $Id: utils.h,v 1.17 2007/01/15 21:03:57 erg Exp $ $Revision: 1.17 $ */
00002 /* vim:set shiftwidth=4 ts=8: */
00003 
00004 /**********************************************************
00005 *      This software is part of the graphviz package      *
00006 *                http://www.graphviz.org/                 *
00007 *                                                         *
00008 *            Copyright (c) 1994-2004 AT&T Corp.           *
00009 *                and is licensed under the                *
00010 *            Common Public License, Version 1.0           *
00011 *                      by AT&T Corp.                      *
00012 *                                                         *
00013 *        Information and Software Systems Research        *
00014 *              AT&T Research, Florham Park NJ             *
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

Generated on Mon Mar 31 19:03:25 2008 for Graphviz by  doxygen 1.5.1