Graphviz
2.41.20171026.1811
|
#include "render.h"
Go to the source code of this file.
Macros | |
#define | FUDGE 2 |
#define | HT2(n) (ND_ht(n)/2) |
#define | LEFTOF(a, b, c) (((a.y - b.y)*(c.x - b.x) - (c.y - b.y)*(a.x - b.x)) > 0) |
#define | MAXLABELWD (POINTS_PER_INCH/2.0) |
#define | AGXGET(o, a) agxget(o,a) |
Functions | |
void | bezier_clip (inside_t *inside_context, boolean(*inside)(inside_t *inside_context, pointf p), pointf *sp, boolean left_inside) |
void | shape_clip (node_t *n, pointf curve[4]) |
bezier * | new_spline (edge_t *e, int sz) |
void | clip_and_install (edge_t *fe, node_t *hn, pointf *ps, int pn, splineInfo *info) |
void | add_box (path *P, boxf b) |
void | beginpath (path *P, edge_t *e, int et, pathend_t *endp, boolean merge) |
void | endpath (path *P, edge_t *e, int et, pathend_t *endp, boolean merge) |
int | selfRightSpace (edge_t *e) |
void | makeSelfEdge (path *P, edge_t *edges[], int ind, int cnt, double sizex, double sizey, splineInfo *sinfo) |
void | makePortLabels (edge_t *e) |
pointf | edgeMidpoint (graph_t *g, edge_t *e) |
void | addEdgeLabels (graph_t *g, edge_t *e, pointf rp, pointf rq) |
int | place_portlabel (edge_t *e, boolean head_p) |
splines * | getsplinepoints (edge_t *e) |
#define AGXGET | ( | o, | |
a | |||
) | agxget(o,a) |
Definition at line 1416 of file splines.c.
Referenced by place_portlabel().
#define FUDGE 2 |
Definition at line 389 of file splines.c.
Referenced by beginpath(), and endpath().
#define HT2 | ( | n | ) | (ND_ht(n)/2) |
Definition at line 390 of file splines.c.
Referenced by beginpath(), and endpath().
#define LEFTOF | ( | a, | |
b, | |||
c | |||
) | (((a.y - b.y)*(c.x - b.x) - (c.y - b.y)*(a.x - b.x)) > 0) |
Definition at line 1342 of file splines.c.
Referenced by addEdgeLabels().
#define MAXLABELWD (POINTS_PER_INCH/2.0) |
Definition at line 1343 of file splines.c.
Referenced by addEdgeLabels().
Definition at line 352 of file splines.c.
References path::boxes, boxf::LL, path::nbox, boxf::UR, pointf_s::x, and pointf_s::y.
Definition at line 1355 of file splines.c.
References agraphof(), agtail(), APPROXEQPT, dist2(), dotneato_closest(), ED_label, ED_spl, EDGE_TYPE, ET_SPLINE, leftOf(), LEFTOF, makePortLabels(), MAXLABELWD, MILLIPOINT, MIN, TRUE, updateBB(), point::x, pointf_s::x, point::y, and pointf_s::y.
Referenced by makeSpline(), and makeStraightEdges().
Definition at line 393 of file splines.c.
References aghead(), agraphof(), agtail(), assert, BOTTOM, pathend_t::boxes, pathend_t::boxn, port::constrained, path::data, ED_edge_type, ED_head_port, ED_tail_port, ED_to_orig, FALSE, FLATEDGE, FUDGE, GD_ranksep, HT2, int, LEFT, boxf::LL, MAX, MIN, pathend_t::nb, path::nbox, ND_coord, ND_lw, ND_node_type, ND_rw, ND_shape, NORMAL, pathend_t::np, NULL, port::p, REGULAREDGE, resolvePort(), RIGHT, SELFEDGE, pathend_t::sidemask, path::start, port::theta, TOP, TRUE, boxf::UR, pointf_s::x, and pointf_s::y.
void bezier_clip | ( | inside_t * | inside_context, |
boolean(*)(inside_t *inside_context, pointf p) | inside, | ||
pointf * | sp, | ||
boolean | left_inside | ||
) |
Definition at line 106 of file splines.c.
References ABS, Bezier(), FALSE, left, NULL, right, TRUE, pointf_s::x, and pointf_s::y.
Referenced by arrowEndClip(), and arrowStartClip().
void clip_and_install | ( | edge_t * | fe, |
node_t * | hn, | ||
pointf * | ps, | ||
int | pn, | ||
splineInfo * | info | ||
) |
Definition at line 241 of file splines.c.
References agraphof(), agtail(), APPROXEQPT, inside_t::bp, ED_edge_type, ED_head_port, ED_tail_port, ED_to_orig, FALSE, GD_bb, splineInfo::ignoreSwap, bezier::list, MILLIPOINT, inside_t::n, ND_coord, ND_order, ND_rank, ND_shape, new_spline(), NORMAL, inside_t::s, bezier::size, TRUE, update_bb_bz(), pointf_s::x, and pointf_s::y.
Referenced by makeSpline(), and makeStraightEdges().
Definition at line 1321 of file splines.c.
References APPROXEQPT, dotneato_closest(), ED_spl, EDGE_TYPE, ET_CURVED, ET_SPLINE, MILLIPOINT, pointf_s::x, and pointf_s::y.
Definition at line 588 of file splines.c.
References aghead(), agraphof(), agtail(), assert, BOTTOM, pathend_t::boxes, pathend_t::boxn, port::constrained, ED_edge_type, ED_head_port, ED_tail_port, ED_to_orig, path::end, FALSE, FLATEDGE, FUDGE, GD_ranksep, HT2, int, LEFT, boxf::LL, M_PI, MAX, MIN, pathend_t::nb, ND_coord, ND_lw, ND_node_type, ND_rw, ND_shape, NORMAL, pathend_t::np, NULL, port::p, REGULAREDGE, resolvePort(), RIGHT, SELFEDGE, pathend_t::sidemask, path::start, port::theta, TOP, TRUE, boxf::UR, pointf_s::x, and pointf_s::y.
Definition at line 1478 of file splines.c.
References agerr(), AGERR, aghead(), agnameof(), agtail(), ED_edge_type, ED_spl, ED_to_orig, le, NORMAL, and NULL.
Referenced by place_portlabel().
void makePortLabels | ( | edge_t * | e | ) |
Definition at line 1237 of file splines.c.
References agraphof(), agtail(), E_labelangle, E_labeldistance, ED_head_label, ED_tail_label, FALSE, place_portlabel(), TRUE, and updateBB().
Referenced by addEdgeLabels(), and makeSelfArcs().
void makeSelfEdge | ( | path * | P, |
edge_t * | edges[], | ||
int | ind, | ||
int | cnt, | ||
double | sizex, | ||
double | sizey, | ||
splineInfo * | sinfo | ||
) |
Definition at line 1191 of file splines.c.
References assert, BOTTOM, ED_head_port, ED_tail_port, LEFT, RIGHT, and TOP.
Referenced by makeSelfArcs().
Definition at line 218 of file splines.c.
References ALLOC, ED_edge_type, ED_spl, ED_to_orig, bezier::eflag, bezier::ep, FALSE, bezier::list, N_NEW, NEW, NORMAL, NULL, bezier::sflag, bezier::size, bezier::sp, pointf_s::x, and pointf_s::y.
Referenced by clip_and_install().
Definition at line 1425 of file splines.c.
References AGXGET, Bezier(), dist(), E_labelangle, E_labeldistance, ED_edge_type, ED_head_label, ED_tail_label, bezier::eflag, bezier::ep, getsplinepoints(), IGNORED, late_double(), bezier::list, splines::list, NULL, PORT_LABEL_ANGLE, PORT_LABEL_DISTANCE, textlabel_t::pos, RADIANS, textlabel_t::set, bezier::sflag, bezier::size, splines::size, bezier::sp, TRUE, pointf_s::x, and pointf_s::y.
Referenced by makePortLabels().
Definition at line 1163 of file splines.c.
References aghead(), agraphof(), BOTTOM, textlabel_t::dimen, ED_head_port, ED_label, ED_tail_port, GD_flip, LEFT, SELF_EDGE_SIZE, TOP, pointf_s::x, and pointf_s::y.
Definition at line 195 of file splines.c.
References inside_t::bp, inside_t::n, ND_coord, ND_rw, ND_shape, NULL, inside_t::s, pointf_s::x, and pointf_s::y.