From 18e89c53ffd2e08a5bab9c8b82ce7ea345238cda Mon Sep 17 00:00:00 2001 From: ellson Date: Thu, 14 Jul 2005 15:15:24 +0000 Subject: [PATCH] migrate externs belonging to utils.c to from renderprocs.h to utils.h in preparation for splitting libcommon --- lib/common/render.h | 1 + lib/common/renderprocs.h | 71 +--------------------------------- lib/common/utils.h | 82 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+), 70 deletions(-) diff --git a/lib/common/render.h b/lib/common/render.h index 476a83ebf..4fb4dadad 100644 --- a/lib/common/render.h +++ b/lib/common/render.h @@ -55,6 +55,7 @@ #include "graph.h" /* must follow types.h */ #include "globals.h" #include "renderprocs.h" +#include "utils.h" #include "gvc.h" typedef struct epsf_s { diff --git a/lib/common/renderprocs.h b/lib/common/renderprocs.h index 0191241f1..1914b1ca1 100644 --- a/lib/common/renderprocs.h +++ b/lib/common/renderprocs.h @@ -24,8 +24,6 @@ extern "C" { typedef void (*nodesizefn_t) (Agnode_t *, boolean); extern void add_box(path *, box); - extern point add_points(point, point); - extern pointf add_pointfs(pointf, pointf); extern void arrow_flags(Agedge_t * e, int *sflag, int *eflag); extern boxf arrow_bb(pointf p, pointf u, double scale, int flag); extern void arrow_gen(GVJ_t * job, point p, point u, double scale, @@ -35,38 +33,19 @@ extern "C" { extern int arrowStartClip(edge_t*, point* ps, int, int, bezier*, int sflag); extern void attach_attrs(Agraph_t *); extern void beginpath(path *, Agedge_t *, int, pathend_t *, boolean); - extern pointf Bezier(pointf *, int, double, pointf *, pointf *); extern void bezier_clip(inside_t * inside_context, boolean(*insidefn) (inside_t * inside_context, pointf p), pointf * sp, boolean left_inside); extern shape_desc *bind_shape(char *name, node_t *); - extern box boxof(int llx, int lly, int urx, int ury); - extern boxf boxfof(double llx, double lly, double urx, double ury); - extern box box_bb(box, box); - extern boxf boxf_bb(boxf, boxf); - extern box box_intersect(box, box); - extern boxf boxf_intersect(boxf, boxf); - extern boolean box_overlap(box, box); - extern boolean boxf_overlap(boxf, boxf); - extern boolean box_contains(box, box); - extern boolean boxf_contains(boxf, boxf); - extern void cat_libfile(FILE *, char **, char **); extern void clip_and_install(edge_t *, edge_t *, point *, int, splineInfo *); extern char *canontoken(char *str); extern char* charsetToStr (int c); extern void colorxlate(char *str, color_t * color, color_type_t target_type); - extern void common_init_node(node_t * n); - extern int common_init_edge(edge_t * e); - extern void compute_bb(Agraph_t *); extern point coord(node_t * n); - extern pointf cvt2ptf(point); - extern point cvt2pt(pointf); - extern Agnode_t *dequeue(nodequeue *); extern void do_graph_label(graph_t * sg); - extern point dotneato_closest(splines * spl, point p); extern void graph_init(graph_t * g, boolean use_rankdir); extern void graph_cleanup(graph_t * g); extern void dotneato_initialize(GVC_t * gvc, int, char **); @@ -77,8 +56,6 @@ extern "C" { extern void dotneato_write(GVC_t * gvc, graph_t *g); extern void dotneato_write_one(GVC_t * gvc, graph_t *g); extern double elapsed_sec(void); - extern void enqueue(nodequeue *, Agnode_t *); - extern void enqueue_neighbors(nodequeue *, Agnode_t *, int); extern void emit_background(GVJ_t * job, graph_t *g); extern void emit_clusters(GVJ_t * job, Agraph_t * g, int flags); extern void emit_edge_graphics(GVJ_t * job, edge_t * e); @@ -89,19 +66,14 @@ extern "C" { extern void emit_jobs_eof(GVC_t * gvc); extern void emit_textlines(GVJ_t*, int, textline_t*, pointf, double, char*, double, char*); + extern void enqueue_neighbors(nodequeue *, Agnode_t *, int); extern void endpath(path *, Agedge_t *, int, pathend_t *, boolean); extern void epsf_init(node_t * n); extern void epsf_free(node_t * n); - extern point exch_xy(point p); - extern pointf exch_xyf(pointf p); extern void extend_attrs(GVJ_t * job, graph_t *g, int s_arrows, int e_arrows); extern shape_desc *find_user_shape(char *); - extern box flip_rec_box(box b, point p); - extern point flip_pt(point p, int rankdir); - extern pointf flip_ptf(pointf p, int rankdir); extern void free_line(textline_t *); extern void free_label(textlabel_t *); - extern void free_queue(nodequeue *); extern char *gd_alternate_fontlist(char *font); extern char *gd_textsize(textline_t * textline, char *fontname, double fontsz, char **fontpath); @@ -110,15 +82,7 @@ extern "C" { extern void global_def(char *, Agsym_t * (*fun) (Agraph_t *, char *, char *)); extern point image_size(graph_t * g, char *shapefile); - extern point invflip_pt(point p, int rankdir); extern boolean isPolygon(node_t *); - extern int late_attr(void *, char *); - extern int late_bool(void *, Agsym_t *, int); - extern double late_double(void *, Agsym_t *, double, double); - extern int late_int(void *, Agsym_t *, int, int); - extern char *late_nnstring(void *, Agsym_t *, char *); - extern char *late_string(void *, Agsym_t *, char *); - extern char *latin1ToUTF8(char *); extern char *strdup_and_subst_graph(char *str, Agraph_t * g); extern char *strdup_and_subst_node(char *str, Agnode_t * n); extern char *strdup_and_subst_edge(char *str, Agedge_t * e); @@ -127,73 +91,40 @@ extern "C" { splineInfo *); extern textlabel_t *make_label(int, char *, double, char *, char *, graph_t *); - extern int mapbool(char *); - extern int maptoken(char *, char **, int *); extern void map_begin_cluster(graph_t * g); extern void map_begin_edge(Agedge_t * e); extern void map_begin_node(Agnode_t * n); extern void map_edge(Agedge_t *); extern point map_point(point); - extern box mkbox(point, point); - extern boxf mkboxf(pointf, pointf); - extern point neato_closest(splines * spl, point p); extern bezier *new_spline(edge_t * e, int sz); - extern nodequeue *new_queue(int); extern Agraph_t *next_input_graph(void); extern void osize_label(textlabel_t *, int *, int *, int *, int *); - extern boolean overlap_edge(edge_t *e, boxf b); - extern boolean overlap_node(node_t *n, boxf b); - extern boolean overlap_label(textlabel_t *lp, boxf b); extern char **parse_style(char *s); extern void place_graph_label(Agraph_t *); extern void place_portlabel(edge_t * e, boolean head_p); - extern point pointof(int, int); - extern int processClusterEdges(graph_t * g); extern char *ps_string(char *s, int); extern int rank(graph_t * g, int balance, int maxiter); extern void routesplinesinit(void); extern point *routesplines(path *, int *); extern void routesplinesterm(void); - extern char *safefile(char *shapefilename); - extern attrsym_t* safe_dcl(graph_t*, void*, char*, char*, - attrsym_t * (*fun) (Agraph_t *, char *, char *)); extern int selfRightSpace (edge_t* e); extern void setup_graph(GVC_t * gvc, graph_t * g); extern shape_kind shapeOf(node_t *); extern void shape_clip(node_t * n, point curve[4]); - extern point spline_at_y(splines * spl, int y); extern void start_timer(void); extern double textwidth(textline_t * textline, char *fontname, double fontsz); extern void translate_bb(Agraph_t *, int); - extern Agnode_t *UF_find(Agnode_t *); - extern void UF_remove(Agnode_t *, Agnode_t *); - extern void UF_setname(Agnode_t *, Agnode_t *); - extern void UF_singleton(Agnode_t *); - extern Agnode_t *UF_union(Agnode_t *, Agnode_t *); - extern void undoClusterEdges(graph_t * g); - extern void updateBB(graph_t * g, textlabel_t * lp); extern void use_library(char *); - extern char *username(void); - extern char* utf8ToLatin1 (char* ins); extern void write_attributed_dot(graph_t *g, FILE *f); extern void write_canonical_dot(graph_t *g, FILE *f); extern void write_extended_dot(GVJ_t * job, graph_t *g, FILE *f); extern void write_plain(GVJ_t * job, graph_t * g, FILE * f); extern void write_plain_ext(GVJ_t * job, graph_t * g, FILE * f); - extern void *zmalloc(size_t); - extern void *zrealloc(void *, size_t, size_t, size_t); - extern void *gmalloc(size_t); - extern void *grealloc(void *, size_t); #if defined(_BLD_dot) && defined(_DLL) # define extern __EXPORT__ #endif - extern point sub_points(point, point); - extern pointf sub_pointfs(pointf, pointf); - - extern void toggle(int); - extern int test_toggle(void); #ifndef DISABLE_CODEGENS #ifndef HAVE_GD_FREETYPE diff --git a/lib/common/utils.h b/lib/common/utils.h index 3ed9c53eb..d28b706e6 100644 --- a/lib/common/utils.h +++ b/lib/common/utils.h @@ -32,6 +32,88 @@ extern "C" { extern int strncasecmp(const char *s1, const char *s2, unsigned int n); #endif + extern void *zmalloc(size_t); + extern void *zrealloc(void *, size_t, size_t, size_t); + extern void *gmalloc(size_t); + extern void *grealloc(void *, size_t); + + extern nodequeue *new_queue(int); + extern void free_queue(nodequeue *); + extern void enqueue(nodequeue *, Agnode_t *); + extern Agnode_t *dequeue(nodequeue *); + + extern int late_attr(void *, char *); + extern int late_int(void *, Agsym_t *, int, int); + extern double late_double(void *, Agsym_t *, double, double); + extern char *late_nnstring(void *, Agsym_t *, char *); + extern char *late_string(void *, Agsym_t *, char *); + extern int late_bool(void *, Agsym_t *, int); + + extern Agnode_t *UF_find(Agnode_t *); + extern Agnode_t *UF_union(Agnode_t *, Agnode_t *); + extern void UF_remove(Agnode_t *, Agnode_t *); + extern void UF_singleton(Agnode_t *); + extern void UF_setname(Agnode_t *, Agnode_t *); + + extern point pointof(int, int); + extern pointf cvt2ptf(point); + extern point cvt2pt(pointf); + extern point add_points(point, point); + extern pointf add_pointfs(pointf, pointf); + extern point sub_points(point, point); + extern pointf sub_pointfs(pointf, pointf); + extern point exch_xy(point p); + extern pointf exch_xyf(pointf p); + extern point flip_pt(point p, int rankdir); + extern pointf flip_ptf(pointf p, int rankdir); + extern point invflip_pt(point p, int rankdir); + + extern box boxof(int llx, int lly, int urx, int ury); + extern boxf boxfof(double llx, double lly, double urx, double ury); + extern box mkbox(point, point); + extern boxf mkboxf(pointf, pointf); + extern box box_bb(box, box); + extern boxf boxf_bb(boxf, boxf); + extern box box_intersect(box, box); + extern boxf boxf_intersect(boxf, boxf); + extern boolean box_overlap(box, box); + extern boolean boxf_overlap(boxf, boxf); + extern boolean box_contains(box, box); + extern boolean boxf_contains(boxf, boxf); + extern box flip_rec_box(box b, point p); + + extern pointf Bezier(pointf *, int, double, pointf *, pointf *); + extern point dotneato_closest(splines * spl, point p); + extern point neato_closest(splines * spl, point p); + extern point spline_at_y(splines * spl, int y); + + extern char *username(void); + extern char *safefile(char *shapefilename); + extern void cat_libfile(FILE *, char **, char **); + + extern int mapbool(char *); + extern int maptoken(char *, char **, int *); + + extern void toggle(int); + extern int test_toggle(void); + + extern void common_init_node(node_t * n); + extern int common_init_edge(edge_t * e); + + extern void updateBB(graph_t * g, textlabel_t * lp); + extern void compute_bb(Agraph_t *); + extern boolean overlap_node(node_t *n, boxf b); + extern boolean overlap_label(textlabel_t *lp, boxf b); + extern boolean overlap_edge(edge_t *e, boxf b); + + extern int processClusterEdges(graph_t * g); + extern void undoClusterEdges(graph_t * g); + extern attrsym_t* safe_dcl(graph_t*, void*, char*, char*, + attrsym_t * (*fun) (Agraph_t *, char *, char *)); + + extern char *latin1ToUTF8(char *); + extern char* utf8ToLatin1 (char* ins); + #ifdef __cplusplus } #endif -- 2.40.0