Graphviz  2.41.20170921.2350
Macros | Functions
splines.c File Reference
#include "render.h"
Include dependency graph for splines.c:

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])
 
beziernew_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)
 
splinesgetsplinepoints (edge_t *e)
 

Macro Definition Documentation

#define AGXGET (   o,
 
)    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,
 
)    (((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().

Function Documentation

void add_box ( path P,
boxf  b 
)

Definition at line 352 of file splines.c.

References path::boxes, boxf::LL, path::nbox, boxf::UR, pointf_s::x, and pointf_s::y.

void addEdgeLabels ( graph_t g,
edge_t e,
pointf  rp,
pointf  rq 
)
void beginpath ( path P,
edge_t e,
int  et,
pathend_t endp,
boolean  merge 
)
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 
)
pointf edgeMidpoint ( graph_t g,
edge_t e 
)
void endpath ( path P,
edge_t e,
int  et,
pathend_t endp,
boolean  merge 
)
splines* getsplinepoints ( edge_t e)

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)
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().

bezier* new_spline ( edge_t e,
int  sz 
)
int place_portlabel ( edge_t e,
boolean  head_p 
)
int selfRightSpace ( edge_t e)
void shape_clip ( node_t n,
pointf  curve[4] 
)

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.