51#define RENDER_API __declspec(dllexport)
53#define RENDER_API __declspec(dllimport)
65 double arrowsize,
double penwidth, uint32_t flag);
71 uint32_t sflag, uint32_t eflag);
74 bool(*insidefn) (
inside_t * inside_context,
112 RENDER_API
int initMapData (
GVJ_t*,
char*,
char*,
char*,
char*,
char*,
void*);
116 RENDER_API
textlabel_t *
make_label(
void *obj,
char *
str,
int kind,
double fontsize,
char *fontname,
char *fontcolor);
126 RENDER_API
int rank(
graph_t * g,
int balance,
int maxiter);
127 RENDER_API
int rank2(
graph_t * g,
int balance,
int maxiter,
int search_size);
double(* radfunc_t)(double, double, double)
geometric functions (e.g. on points and boxes)
static int cnt(Dict_t *d, Dtlink_t **set)
textitem scanner parser str
bezier * new_spline(edge_t *e, size_t sz)
void make_simple_label(GVC_t *gvc, textlabel_t *rv)
void emit_label(GVJ_t *job, emit_state_t emit_state, textlabel_t *)
void gv_cleanup_edge(Agedge_t *e)
void emit_clusters(GVJ_t *job, Agraph_t *g, int flags)
void epsf_free(node_t *n)
int stripedBox(GVJ_t *job, pointf *AF, const char *clrs, int rotate)
void makePortLabels(edge_t *e)
shape_desc * find_user_shape(const char *)
splines * getsplinepoints(edge_t *e)
int rank(graph_t *g, int balance, int maxiter)
void gv_fixLocale(int set)
void clip_and_install(edge_t *fe, node_t *hn, pointf *ps, size_t pn, splineInfo *info)
pointf * simpleSplineRoute(pointf, pointf, Ppoly_t, size_t *, int)
Given a simple (ccw) polygon, route an edge from tp to hp.
void gv_free_splines(edge_t *e)
double selfRightSpace(edge_t *e)
void resolvePorts(edge_t *e)
void gv_cleanup_node(Agnode_t *n)
int routesplinesinit(void)
void shape_clip(node_t *n, pointf curve[4])
size_t arrowStartClip(edge_t *, pointf *ps, size_t, size_t, bezier *, uint32_t sflag)
boxf arrow_bb(pointf p, pointf u, double arrowsize)
void round_corners(GVJ_t *job, pointf *AF, size_t sides, graphviz_polygon_style_t style, int filled)
Handle some special graphical cases, such as rounding the shape, adding diagonals at corners,...
int dotneato_args_initialize(GVC_t *gvc, int, char **)
void translate_bb(Agraph_t *, int)
pointf textspan_size(GVC_t *gvc, textspan_t *span)
Estimates size of a textspan, in points.
size_t arrowEndClip(edge_t *, pointf *, size_t, size_t, bezier *, uint32_t eflag)
shape_kind shapeOf(node_t *)
void makeStraightEdge(graph_t *g, edge_t *e, int edgetype, splineInfo *info)
char * charsetToStr(int c)
Given an internal charset value, return a canonical string representation.
bool emit_once(char *message)
Ppolyline_t * ellipticWedge(pointf ctr, double major, double minor, double angle0, double angle1)
void textfont_dict_close(GVC_t *gvc)
textlabel_t * make_label(void *obj, char *str, int kind, double fontsize, char *fontname, char *fontcolor)
shape_desc * bind_shape(char *name, node_t *)
void add_box(path *, boxf)
void graph_init(graph_t *g, bool use_rankdir)
void epsf_init(node_t *n)
void bezier_clip(inside_t *inside_context, bool(*insidefn)(inside_t *inside_context, pointf p), pointf *sp, bool left_inside)
void * init_xdot(Agraph_t *g)
void place_graph_label(Agraph_t *)
void beginpath(path *, Agedge_t *, int, pathend_t *, bool)
void addEdgeLabels(edge_t *e)
obj_state_t * push_obj_state(GVJ_t *job)
char ** parse_style(char *s)
void textfont_dict_open(GVC_t *gvc)
void emit_once_reset(void)
void gv_postprocess(Agraph_t *, int)
void emit_map_rect(GVJ_t *job, boxf b)
void graph_cleanup(graph_t *g)
pointf edgeMidpoint(graph_t *g, edge_t *e)
void arrow_flags(Agedge_t *e, uint32_t *sflag, uint32_t *eflag)
pointf * routesplines(path *, size_t *)
int wedgedEllipse(GVJ_t *job, pointf *pf, const char *clrs)
void getdouble(graph_t *g, char *name, double *result)
void dotneato_postprocess(Agraph_t *)
void free_label(textlabel_t *)
void routesplinesterm(void)
void pop_obj_state(GVJ_t *job)
void makeSelfEdge(edge_t *edges[], size_t ind, size_t cnt, double sizex, double sizey, splineInfo *sinfo)
port resolvePort(node_t *n, node_t *other, port *oldport)
stroke_t taper(bezier *, double(*radfunc_t)(double, double, double), double initwid)
char * getObjId(GVJ_t *job, void *obj, agxbuf *xb)
Use id of root graph if any, plus kind and internal id of object.
void arrowOrthoClip(edge_t *, pointf *ps, size_t, size_t, bezier *, uint32_t sflag, uint32_t eflag)
void endpath(path *, Agedge_t *, int, pathend_t *, bool)
void update_bb_bz(boxf *bb, pointf *cp)
pointf * routepolylines(path *pp, size_t *npoints)
void free_textspan(textspan_t *tl, size_t)
void do_graph_label(graph_t *sg)
Set characteristics of graph label if it exists.
void arrow_gen(GVJ_t *job, emit_state_t emit_state, pointf p, pointf u, double arrowsize, double penwidth, uint32_t flag)
int place_portlabel(edge_t *e, bool head_p)
int rank2(graph_t *g, int balance, int maxiter, int search_size)
void emit_graph(GVJ_t *job, graph_t *g)
int initMapData(GVJ_t *, char *, char *, char *, char *, char *, void *)
int dotneato_usage(const char *, int)
void makeStraightEdges(graph_t *g, edge_t **edges, size_t e_cnt, int et, splineInfo *sinfo)
static void rotate(int n, int dim, double *x, double angle)
graphs, nodes and edges info: Agraphinfo_t, Agnodeinfo_t and Agedgeinfo_t
int(* pf)(void *, char *,...)