Graphviz  2.41.20170921.2350
Data Structures | Macros | Typedefs | Functions
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
 

Macros

#define EPSILON   .0001
 
#define ARROW_LENGTH   10.
 
#define NUMB_OF_ARROW_HEADS   4
 
#define BITS_PER_ARROW   8
 
#define BITS_PER_ARROW_TYPE   4
 
#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_TYPE_CURVE   7
 
#define ARR_TYPE_GAP   8
 
#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)
 

Macro Definition Documentation

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

Definition at line 42 of file arrows.c.

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

Definition at line 43 of file arrows.c.

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

Definition at line 41 of file arrows.c.

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

Definition at line 44 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_CURVE   7

Definition at line 36 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_GAP   8

Definition at line 37 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   4

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 691 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 
)