Graphviz 2.29.20120208.0545
Data Structures | Defines | Typedefs | Functions
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 NUMB_OF_ARROW_HEADS   4
#define BITS_PER_ARROW   8
#define BITS_PER_ARROW_TYPE   3
#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<<(BITS_PER_ARROW_TYPE+0))
#define ARR_MOD_INV   (1<<(BITS_PER_ARROW_TYPE+1))
#define ARR_MOD_LEFT   (1<<(BITS_PER_ARROW_TYPE+2))
#define ARR_MOD_RIGHT   (1<<(BITS_PER_ARROW_TYPE+3))

Typedefs

typedef struct arrowdir_t arrowdir_t
typedef struct arrowname_t arrowname_t
typedef struct arrowtype_t arrowtype_t

Functions

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

Define Documentation

#define ARR_MOD_INV   (1<<(BITS_PER_ARROW_TYPE+1))

Definition at line 40 of file arrows.c.

#define ARR_MOD_LEFT   (1<<(BITS_PER_ARROW_TYPE+2))

Definition at line 41 of file arrows.c.

#define ARR_MOD_OPEN   (1<<(BITS_PER_ARROW_TYPE+0))

Definition at line 39 of file arrows.c.

#define ARR_MOD_RIGHT   (1<<(BITS_PER_ARROW_TYPE+3))

Definition at line 42 of file arrows.c.

#define ARR_TYPE_BOX   4

Definition at line 33 of file arrows.c.

#define ARR_TYPE_CROW   2

Definition at line 31 of file arrows.c.

#define ARR_TYPE_DIAMOND   5

Definition at line 34 of file arrows.c.

#define ARR_TYPE_DOT   6

Definition at line 35 of file arrows.c.

#define ARR_TYPE_NONE   (ARR_NONE)

Definition at line 29 of file arrows.c.

Referenced by arrow_flags(), and arrow_gen().

#define ARR_TYPE_NORM   1

Definition at line 30 of file arrows.c.

Referenced by arrow_flags().

#define ARR_TYPE_TEE   3

Definition at line 32 of file arrows.c.

#define ARROW_LENGTH   10.

Definition at line 20 of file arrows.c.

Referenced by arrow_bb(), arrow_gen(), and arrow_length().

#define BITS_PER_ARROW   8

Definition at line 25 of file arrows.c.

Referenced by arrow_gen(), and arrow_length().

#define BITS_PER_ARROW_TYPE   3

Definition at line 27 of file arrows.c.

Referenced by arrow_length().

#define EPSILON   .0001

Definition at line 17 of file arrows.c.

Referenced by arrow_bb(), and arrow_gen().

#define NUMB_OF_ARROW_HEADS   4

Definition at line 22 of file arrows.c.

Referenced by arrow_gen(), and arrow_length().


Typedef Documentation

typedef struct arrowdir_t arrowdir_t
typedef struct arrowname_t arrowname_t
typedef struct arrowtype_t arrowtype_t

Function Documentation

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

Definition at line 622 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 
)
void arrow_gen ( GVJ_t job,
emit_state_t  emit_state,
pointf  p,
pointf  u,
double  arrowsize,
double  penwidth,
int  flag 
)
double arrow_length ( edge_t e,
int  flag 
)
int arrowEndClip ( edge_t e,
pointf ps,
int  startp,
int  endp,
bezier spl,
int  eflag 
)
void arrowOrthoClip ( edge_t e,
pointf ps,
int  startp,
int  endp,
bezier spl,
int  sflag,
int  eflag 
)
int arrowStartClip ( edge_t e,
pointf ps,
int  startp,
int  endp,
bezier spl,
int  sflag 
)