Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

renderprocs.h

Go to the documentation of this file.
00001 /* $Id: renderprocs.h,v 1.1 2005/04/09 03:38:19 roxo Exp $ $Revision: 1.1 $ */
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 #ifndef GV_RENDERPROCS_H
00018 #define GV_RENDERPROCS_H
00019 
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023 
00024     typedef void (*nodesizefn_t) (Agnode_t *, boolean);
00025 
00026     extern void add_box(path *, box);
00027     extern point add_points(point, point);
00028     extern void arrow_flags(Agedge_t * e, int *sflag, int *eflag);
00029     extern void arrow_gen(GVC_t * gvc, point p, point u, double scale,
00030                           int flag);
00031     extern double arrow_length(edge_t * e, int flag);
00032     extern int arrowEndClip(inside_t * inside_context, point * ps,
00033                             int startp, int endp, bezier * spl, int eflag);
00034     extern int arrowStartClip(inside_t * inside_context, point * ps,
00035                               int startp, int endp, bezier * spl,
00036                               int sflag);
00037     extern void attach_attrs(Agraph_t *);
00038     extern void beginpath(path *, Agedge_t *, int, pathend_t *, boolean);
00039     extern pointf Bezier(pointf *, int, double, pointf *, pointf *);
00040     extern void bezier_clip(inside_t * inside_context,
00041                             boolean(*insidefn) (inside_t * inside_context,
00042                                                 pointf p), pointf * sp,
00043                             boolean left_inside);
00044     extern shape_desc *bind_shape(char *name, node_t *);
00045     extern box boxof(int, int, int, int);
00046     extern void cat_libfile(FILE *, char **, char **);
00047     extern void clip_and_install(edge_t *, edge_t *, point *, int,
00048                                  splineInfo *);
00049     extern int clust_in_layer(Agraph_t *);
00050     extern char *canontoken(char *str);
00051     extern void colorxlate(char *str, color_t * color,
00052                            color_type target_type);
00053     extern void common_init_node(node_t * n);
00054     extern int common_init_edge(edge_t * e);
00055     extern void compute_bb(Agraph_t *);
00056     extern void config_builtins(GVC_t * gvc);
00057     extern point coord(node_t * n);
00058     extern pointf cvt2ptf(point);
00059     extern point cvt2pt(pointf);
00060     extern Agnode_t *dequeue(queue *);
00061     extern void do_graph_label(graph_t * sg);
00062     extern point dotneato_closest(splines * spl, point p);
00063     extern void graph_init(graph_t * g);
00064     extern void dotneato_initialize(GVC_t * gvc, int, char **);
00065     extern void setCmdName(char *);
00066     extern void dotneato_usage(int);
00067     extern char *getFlagOpt(int argc, char **argv, int *idx);
00068     extern void dotneato_postprocess(Agraph_t *, nodesizefn_t);
00069     extern void dotneato_set_margins(GVC_t * gvc, Agraph_t *);
00070     extern void dotneato_eof(GVC_t * gvc);
00071     extern void dotneato_terminate(GVC_t * gvc);
00072     extern void dotneato_write(GVC_t * gvc);
00073     extern void dotneato_write_one(GVC_t * gvc);
00074     extern int edge_in_CB(Agedge_t *);
00075     extern int edge_in_layer(Agraph_t *, Agedge_t *);
00076     extern double elapsed_sec(void);
00077     extern void enqueue(queue *, Agnode_t *);
00078     extern void enqueue_neighbors(queue *, Agnode_t *, int);
00079     extern void emit_attachment(GVC_t * gvc, textlabel_t *, splines *);
00080     extern void emit_clusters(GVC_t * gvc, Agraph_t * g, int flags);
00081     extern void emit_eof(GVC_t * gvc);
00082     extern void emit_graph(GVC_t * gvc, int flags);
00083     extern void emit_edge(GVC_t * gvc, edge_t * e);
00084     extern void emit_node(GVC_t * gvc, node_t * n);
00085 #define EMIT_SORTED 1
00086 #define EMIT_COLORS 2
00087 #define EMIT_CLUSTERS_LAST 4
00088 #define EMIT_PREORDER 8
00089 #define EMIT_EDGE_SORTED 16
00090     extern void emit_label(GVC_t * gvc, textlabel_t *, void *obj);
00091     extern int emit_once(char *message);
00092     extern void emit_once_reset();
00093     extern void emit_reset(GVC_t * gvc);
00094     extern void endpath(path *, Agedge_t *, int, pathend_t *, boolean);
00095     extern void epsf_init(node_t * n);
00096     extern void epsf_free(node_t * n);
00097     extern void epsf_gencode(GVC_t * gvc, node_t * n);
00098     extern FILE *file_select(char *);
00099     extern shape_desc *find_user_shape(char *);
00100     extern box flip_rec_box(box b, point p);
00101     extern point flip_pt(point p, int rankdir);
00102     extern pointf flip_ptf(pointf p, int rankdir);
00103     extern void free_line(textline_t *);
00104     extern void free_label(textlabel_t *);
00105     extern void free_queue(queue *);
00106     extern void free_ugraph(graph_t *);
00107     extern char *gd_alternate_fontlist(char *font);
00108     extern char *gd_textsize(textline_t * textline, char *fontname,
00109                              double fontsz, char **fontpath);
00110     extern point gd_user_shape_size(node_t * n, char *shapeimagefile);
00111     extern point ps_user_shape_size(node_t * n, char *shapeimagefile);
00112     extern point svg_user_shape_size(node_t * n, char *shapeimagefile);
00113     extern point quartz_user_shape_size(node_t * n, char *shapeimagefile);
00114     extern point gd_image_size(graph_t * n, char *shapeimagefile);
00115     extern point ps_image_size(graph_t * n, char *shapeimagefile);
00116     extern point svg_image_size(graph_t * n, char *shapeimagefile);
00117     extern point quartz_image_size(graph_t * n, char *shapeimagefile);
00118     extern boolean getdoubles2pt(graph_t * g, char *name, point * result);
00119     extern void getdouble(graph_t * g, char *name, double *result);
00120     extern splines *getsplinepoints(edge_t * e);
00121     extern void global_def(char *,
00122                            Agsym_t * (*fun) (Agraph_t *, char *, char *));
00123     extern point image_size(graph_t * g, char *shapefile);
00124     extern void init_ugraph(graph_t * g);
00125     extern point invflip_pt(point p, int rankdir);
00126     extern int is_natural_number(char *);
00127     extern boolean isPolygon(node_t *);
00128     extern int late_attr(void *, char *);
00129     extern int late_bool(void *, Agsym_t *, int);
00130     extern double late_double(void *, Agsym_t *, double, double);
00131     extern int late_int(void *, Agsym_t *, int, int);
00132     extern char *late_nnstring(void *, Agsym_t *, char *);
00133     extern char *late_string(void *, Agsym_t *, char *);
00134     extern int layer_index(char *, int);
00135     extern int layerindex(char *);
00136     extern char *strdup_and_subst_graph(char *str, Agraph_t * g);
00137     extern char *strdup_and_subst_node(char *str, Agnode_t * n);
00138     extern char *strdup_and_subst_edge(char *str, Agedge_t * e);
00139     extern char *xml_string(char *s);
00140     extern void makeSelfEdge(path *, edge_t **, int, int, int,
00141                              splineInfo *);
00142     extern textlabel_t *make_label(int, char *, double, char *, char *,
00143                                    graph_t *);
00144     extern int mapbool(char *);
00145     extern int maptoken(char *, char **, int *);
00146     extern void map_begin_cluster(graph_t * g);
00147     extern void map_begin_edge(Agedge_t * e);
00148     extern void map_begin_node(Agnode_t * n);
00149     extern void map_edge(Agedge_t *);
00150     extern point map_point(point);
00151     extern box mkbox(point, point);
00152     extern point neato_closest(splines * spl, point p);
00153     extern bezier *new_spline(edge_t * e, int sz);
00154     extern queue *new_queue(int);
00155     extern FILE *next_input_file(void);
00156     extern Agraph_t *next_input_graph(void);
00157     extern int node_in_CB(node_t *);
00158     extern int node_in_layer(Agraph_t *, node_t *);
00159     extern void osize_label(textlabel_t *, int *, int *, int *, int *);
00160     extern point pageincr(point);
00161     extern char **parse_style(char *s);
00162     extern void place_graph_label(Agraph_t *);
00163     extern void place_portlabel(edge_t * e, boolean head_p);
00164     extern point pointof(int, int);
00165     extern void printptf(FILE *, point);
00166     extern int processClusterEdges(graph_t * g);
00167     extern char *ps_string(char *s);
00168     extern void rank(graph_t * g, int balance, int maxiter);
00169     extern void rec_attach_bb(Agraph_t *);
00170     extern int rect_overlap(box, box);
00171     extern void routesplinesinit(void);
00172     extern point *routesplines(path *, int *);
00173     extern void routesplinesterm(void);
00174     extern char *safefile(char *shapefilename);
00175     extern int selectedlayer(char *);
00176     extern void setup_graph(GVC_t * gvc, graph_t * g);
00177     extern shape_kind shapeOf(node_t *);
00178     extern void shape_clip(node_t * n, point curve[4], edge_t * e);
00179     extern point spline_at_y(splines * spl, int y);
00180     extern void start_timer(void);
00181     extern double textwidth(textline_t * textline, char *fontname,
00182                             double fontsz);
00183     extern void translate_bb(Agraph_t *, int);
00184     extern Agnode_t *UF_find(Agnode_t *);
00185     extern void UF_remove(Agnode_t *, Agnode_t *);
00186     extern void UF_setname(Agnode_t *, Agnode_t *);
00187     extern void UF_singleton(Agnode_t *);
00188     extern Agnode_t *UF_union(Agnode_t *, Agnode_t *);
00189     extern void undoClusterEdges(graph_t * g);
00190     extern void update(edge_t * e, edge_t * f);
00191     extern void updateBB(graph_t * g, textlabel_t * lp);
00192     extern void use_library(char *);
00193     extern char *username();
00194     extern point user_shape_size(node_t * n, char *shapefile);
00195     extern int validpage(point);
00196     extern void write_plain(GVC_t * gvc, FILE *);
00197     extern void write_plain_ext(GVC_t * gvc, FILE *);
00198     extern void *zmalloc(size_t);
00199     extern void *zrealloc(void *, size_t, size_t, size_t);
00200     extern void *gmalloc(size_t);
00201     extern void *grealloc(void *, size_t);
00202 
00203 #if defined(_BLD_dot) && defined(_DLL)
00204 #   define extern __EXPORT__
00205 #endif
00206     extern point sub_points(point, point);
00207     extern int lang_select(GVC_t * gvc, char *, int);
00208 
00209     extern void toggle(int);
00210     extern int test_toggle();
00211 
00212 #if ENABLE_CODEGENS && !defined(HAVE_GD_FREETYPE)
00213     extern void initDPI(graph_t *);
00214     extern double textheight(int nlines, double fontsz);
00215     extern int builtinFontHt(double fontsz);
00216     extern int builtinFontWd(double fontsz);
00217 #endif
00218 
00219 #if ENABLE_CODEGENS
00220     extern codegen_info_t *first_codegen();
00221     extern codegen_info_t *next_codegen();
00222 #endif
00223 
00224 #undef extern
00225 
00226 #ifdef __cplusplus
00227 }
00228 #endif
00229 #endif
Untitled Document Pesquisa Psi SourceForge.net Logo