/misc/src/release/graphviz-2.18-1/src/graphviz-2.18/lib/common/arrows.c File Reference

#include "render.h"

Include dependency graph for arrows.c:

Go to the source code of this file.

Data Structures

struct  arrowdir_t
struct  arrowname_t
struct  arrowtype_t

Defines

#define EPSILON   .0001
#define ARROW_LENGTH   10.
#define ARR_TYPE_NONE   (ARR_NONE)
#define ARR_TYPE_NORM   1
#define ARR_TYPE_CROW   2
#define ARR_TYPE_TEE   3
#define ARR_TYPE_BOX   4
#define ARR_TYPE_DIAMOND   5
#define ARR_TYPE_DOT   6
#define ARR_MOD_OPEN   (1<<8)
#define ARR_MOD_INV   (1<<9)
#define ARR_MOD_LEFT   (1<<10)
#define ARR_MOD_RIGHT   (1<<11)

Functions

void arrow_flags (Agedge_t *e, int *sflag, int *eflag)
double arrow_length (edge_t *e, int flag)
int arrowEndClip (edge_t *e, point *ps, int startp, int endp, bezier *spl, int eflag)
int arrowStartClip (edge_t *e, point *ps, int startp, int endp, bezier *spl, int sflag)
boxf arrow_bb (pointf p, pointf u, double arrowsize, int flag)
void arrow_newgen (GVJ_t *job, emit_state_t emit_state, pointf p, pointf u, double arrowsize, double penwidth, int flag)
void arrow_gen (GVJ_t *job, emit_state_t emit_state, point p, point u, double arrowsize, double penwidth, int flag)


Define Documentation

#define ARR_MOD_INV   (1<<9)

Definition at line 36 of file arrows.c.

#define ARR_MOD_LEFT   (1<<10)

Definition at line 37 of file arrows.c.

#define ARR_MOD_OPEN   (1<<8)

Definition at line 35 of file arrows.c.

#define ARR_MOD_RIGHT   (1<<11)

Definition at line 38 of file arrows.c.

#define ARR_TYPE_BOX   4

Definition at line 30 of file arrows.c.

#define ARR_TYPE_CROW   2

Definition at line 28 of file arrows.c.

#define ARR_TYPE_DIAMOND   5

Definition at line 31 of file arrows.c.

#define ARR_TYPE_DOT   6

Definition at line 32 of file arrows.c.

#define ARR_TYPE_NONE   (ARR_NONE)

Definition at line 26 of file arrows.c.

#define ARR_TYPE_NORM   1

Definition at line 27 of file arrows.c.

#define ARR_TYPE_TEE   3

Definition at line 29 of file arrows.c.

#define ARROW_LENGTH   10.

Definition at line 23 of file arrows.c.

Referenced by arrow_bb(), and arrow_newgen().

#define EPSILON   .0001

Definition at line 20 of file arrows.c.

Referenced by arrow_bb(), and arrow_newgen().


Function Documentation

boxf arrow_bb ( pointf  p,
pointf  u,
double  arrowsize,
int  flag 
)

Definition at line 508 of file arrows.c.

References ARROW_LENGTH, EPSILON, boxf::LL, MAX, MIN, boxf::UR, pointf_s::x, and pointf_s::y.

void arrow_flags ( Agedge_t e,
int *  sflag,
int *  eflag 
)

Definition at line 170 of file arrows.c.

References AG_IS_DIRECTED, agxget(), arrowdir_t::dir, E_dir, arrowdir_t::eflag, Agnode_t::graph, Agsym_t::index, arrowdir_t::sflag, streq, and Agedge_t::tail.

void arrow_gen ( GVJ_t job,
emit_state_t  emit_state,
point  p,
point  u,
double  arrowsize,
double  penwidth,
int  flag 
)

Definition at line 586 of file arrows.c.

References arrow_newgen(), and P2PF.

double arrow_length ( edge_t e,
int  flag 
)

Definition at line 202 of file arrows.c.

References arrowtype_t::gen, arrowtype_t::lenfact, and arrowtype_t::type.

Referenced by arrowEndClip(), and arrowStartClip().

void arrow_newgen ( GVJ_t job,
emit_state_t  emit_state,
pointf  p,
pointf  u,
double  arrowsize,
double  penwidth,
int  flag 
)

Definition at line 546 of file arrows.c.

References ARROW_LENGTH, GVC_s::defaultlinestyle, obj_state_s::emit_state, EPSILON, GVJ_s::gvc, gvrender_begin_context(), gvrender_end_context(), gvrender_set_style(), GVJ_s::obj, pointf_s::x, and pointf_s::y.

Referenced by arrow_gen().

int arrowEndClip ( edge_t e,
point ps,
int  startp,
int  endp,
bezier spl,
int  eflag 
)

Definition at line 234 of file arrows.c.

References inside_t::a, arrow_length(), bezier_clip(), bezier::eflag, bezier::ep, inside_t::p, P2PF, PF2P, inside_t::r, and TRUE.

int arrowStartClip ( edge_t e,
point ps,
int  startp,
int  endp,
bezier spl,
int  sflag 
)

Definition at line 263 of file arrows.c.

References inside_t::a, arrow_length(), bezier_clip(), FALSE, inside_t::p, P2PF, PF2P, inside_t::r, bezier::sflag, and bezier::sp.


Generated on Mon Mar 31 19:04:19 2008 for Graphviz by  doxygen 1.5.1