Graphviz  2.41.20171026.1811
Data Structures | Macros | Typedefs | Enumerations
types.h File Reference
#include <stdio.h>
#include <assert.h>
#include <signal.h>
#include "geom.h"
#include "gvcext.h"
#include "pathgeom.h"
#include "textspan.h"
#include "cgraph.h"
#include "usershape.h"
Include dependency graph for types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  inside_t
 
struct  port
 
struct  splineInfo
 
struct  pathend_t
 
struct  path
 
struct  bezier
 
struct  splines
 
struct  textlabel_t
 
struct  polygon_t
 
struct  stroke_t
 
struct  shape_t
 
struct  shape_functions
 
struct  shape_desc
 
struct  nodequeue
 
struct  adjmatrix_t
 
struct  rank_t
 
struct  layout_t
 
struct  field_t
 
struct  nlist_t
 
struct  elist
 
struct  Agraphinfo_t
 
struct  Agnodeinfo_t
 
struct  Agedgeinfo_t
 
struct  gvlayout_features_t
 

Macros

#define WITH_CGRAPH   1
 
#define NOT(v)   (!(v))
 
#define FALSE   0
 
#define TRUE   NOT(FALSE)
 
#define TAIL_ID   "tailport"
 
#define HEAD_ID   "headport"
 
#define STROKE_CLOSED   (1 << 0)
 
#define STROKE_FILLED   (1 << 1)
 
#define STROKE_PENDOWN   (1 << 2)
 
#define STROKE_VERTICES_ALLOCATED   (1 << 3)
 
#define GUI_STATE_ACTIVE   (1<<0)
 
#define GUI_STATE_SELECTED   (1<<1)
 
#define GUI_STATE_VISITED   (1<<2)
 
#define GUI_STATE_DELETED   (1<<3)
 
#define elist_fastapp(item, L)   do {L.list[L.size++] = item; L.list[L.size] = NULL;} while(0)
 
#define elist_append(item, L)   do {L.list = ALLOC(L.size + 2,L.list,edge_t*); L.list[L.size++] = item; L.list[L.size] = NULL;} while(0)
 
#define alloc_elist(n, L)   do {L.size = 0; L.list = N_NEW(n + 1,edge_t*); } while (0)
 
#define free_list(L)   do {if (L.list) free(L.list);} while (0)
 
#define GD_parent(g)   (((Agraphinfo_t*)AGDATA(g))->parent)
 
#define GD_level(g)   (((Agraphinfo_t*)AGDATA(g))->level)
 
#define GD_drawing(g)   (((Agraphinfo_t*)AGDATA(g))->drawing)
 
#define GD_bb(g)   (((Agraphinfo_t*)AGDATA(g))->bb)
 
#define GD_gvc(g)   (((Agraphinfo_t*)AGDATA(g))->gvc)
 
#define GD_cleanup(g)   (((Agraphinfo_t*)AGDATA(g))->cleanup)
 
#define GD_dist(g)   (((Agraphinfo_t*)AGDATA(g))->dist)
 
#define GD_alg(g)   (((Agraphinfo_t*)AGDATA(g))->alg)
 
#define GD_border(g)   (((Agraphinfo_t*)AGDATA(g))->border)
 
#define GD_cl_cnt(g)   (((Agraphinfo_t*)AGDATA(g))->cl_nt)
 
#define GD_clust(g)   (((Agraphinfo_t*)AGDATA(g))->clust)
 
#define GD_dotroot(g)   (((Agraphinfo_t*)AGDATA(g))->dotroot)
 
#define GD_comp(g)   (((Agraphinfo_t*)AGDATA(g))->comp)
 
#define GD_exact_ranksep(g)   (((Agraphinfo_t*)AGDATA(g))->exact_ranksep)
 
#define GD_expanded(g)   (((Agraphinfo_t*)AGDATA(g))->expanded)
 
#define GD_flags(g)   (((Agraphinfo_t*)AGDATA(g))->flags)
 
#define GD_gui_state(g)   (((Agraphinfo_t*)AGDATA(g))->gui_state)
 
#define GD_charset(g)   (((Agraphinfo_t*)AGDATA(g))->charset)
 
#define GD_has_labels(g)   (((Agraphinfo_t*)AGDATA(g))->has_labels)
 
#define GD_has_images(g)   (((Agraphinfo_t*)AGDATA(g))->has_images)
 
#define GD_has_flat_edges(g)   (((Agraphinfo_t*)AGDATA(g))->has_flat_edges)
 
#define GD_has_sourcerank(g)   (((Agraphinfo_t*)AGDATA(g))->has_sourcerank)
 
#define GD_has_sinkrank(g)   (((Agraphinfo_t*)AGDATA(g))->has_sinkrank)
 
#define GD_ht1(g)   (((Agraphinfo_t*)AGDATA(g))->ht1)
 
#define GD_ht2(g)   (((Agraphinfo_t*)AGDATA(g))->ht2)
 
#define GD_inleaf(g)   (((Agraphinfo_t*)AGDATA(g))->inleaf)
 
#define GD_installed(g)   (((Agraphinfo_t*)AGDATA(g))->installed)
 
#define GD_label(g)   (((Agraphinfo_t*)AGDATA(g))->label)
 
#define GD_leader(g)   (((Agraphinfo_t*)AGDATA(g))->leader)
 
#define GD_rankdir2(g)   (((Agraphinfo_t*)AGDATA(g))->rankdir)
 
#define GD_rankdir(g)   (((Agraphinfo_t*)AGDATA(g))->rankdir & 0x3)
 
#define GD_flip(g)   (GD_rankdir(g) & 1)
 
#define GD_realrankdir(g)   ((((Agraphinfo_t*)AGDATA(g))->rankdir) >> 2)
 
#define GD_realflip(g)   (GD_realrankdir(g) & 1)
 
#define GD_ln(g)   (((Agraphinfo_t*)AGDATA(g))->ln)
 
#define GD_maxrank(g)   (((Agraphinfo_t*)AGDATA(g))->maxrank)
 
#define GD_maxset(g)   (((Agraphinfo_t*)AGDATA(g))->maxset)
 
#define GD_minrank(g)   (((Agraphinfo_t*)AGDATA(g))->minrank)
 
#define GD_minset(g)   (((Agraphinfo_t*)AGDATA(g))->minset)
 
#define GD_minrep(g)   (((Agraphinfo_t*)AGDATA(g))->minrep)
 
#define GD_maxrep(g)   (((Agraphinfo_t*)AGDATA(g))->maxrep)
 
#define GD_move(g)   (((Agraphinfo_t*)AGDATA(g))->move)
 
#define GD_n_cluster(g)   (((Agraphinfo_t*)AGDATA(g))->n_cluster)
 
#define GD_n_nodes(g)   (((Agraphinfo_t*)AGDATA(g))->n_nodes)
 
#define GD_ndim(g)   (((Agraphinfo_t*)AGDATA(g))->ndim)
 
#define GD_odim(g)   (((Agraphinfo_t*)AGDATA(g))->odim)
 
#define GD_neato_nlist(g)   (((Agraphinfo_t*)AGDATA(g))->neato_nlist)
 
#define GD_nlist(g)   (((Agraphinfo_t*)AGDATA(g))->nlist)
 
#define GD_nodesep(g)   (((Agraphinfo_t*)AGDATA(g))->nodesep)
 
#define GD_outleaf(g)   (((Agraphinfo_t*)AGDATA(g))->outleaf)
 
#define GD_rank(g)   (((Agraphinfo_t*)AGDATA(g))->rank)
 
#define GD_rankleader(g)   (((Agraphinfo_t*)AGDATA(g))->rankleader)
 
#define GD_ranksep(g)   (((Agraphinfo_t*)AGDATA(g))->ranksep)
 
#define GD_rn(g)   (((Agraphinfo_t*)AGDATA(g))->rn)
 
#define GD_set_type(g)   (((Agraphinfo_t*)AGDATA(g))->set_type)
 
#define GD_label_pos(g)   (((Agraphinfo_t*)AGDATA(g))->label_pos)
 
#define GD_showboxes(g)   (((Agraphinfo_t*)AGDATA(g))->showboxes)
 
#define GD_fontnames(g)   (((Agraphinfo_t*)AGDATA(g))->fontnames)
 
#define GD_spring(g)   (((Agraphinfo_t*)AGDATA(g))->spring)
 
#define GD_sum_t(g)   (((Agraphinfo_t*)AGDATA(g))->sum_t)
 
#define GD_t(g)   (((Agraphinfo_t*)AGDATA(g))->t)
 
#define ND_id(n)   (((Agnodeinfo_t*)AGDATA(n))->id)
 
#define ND_alg(n)   (((Agnodeinfo_t*)AGDATA(n))->alg)
 
#define ND_UF_parent(n)   (((Agnodeinfo_t*)AGDATA(n))->UF_parent)
 
#define ND_set(n)   (((Agnodeinfo_t*)AGDATA(n))->set)
 
#define ND_UF_size(n)   (((Agnodeinfo_t*)AGDATA(n))->UF_size)
 
#define ND_bb(n)   (((Agnodeinfo_t*)AGDATA(n))->bb)
 
#define ND_clust(n)   (((Agnodeinfo_t*)AGDATA(n))->clust)
 
#define ND_coord(n)   (((Agnodeinfo_t*)AGDATA(n))->coord)
 
#define ND_dist(n)   (((Agnodeinfo_t*)AGDATA(n))->dist)
 
#define ND_flat_in(n)   (((Agnodeinfo_t*)AGDATA(n))->flat_in)
 
#define ND_flat_out(n)   (((Agnodeinfo_t*)AGDATA(n))->flat_out)
 
#define ND_gui_state(n)   (((Agnodeinfo_t*)AGDATA(n))->gui_state)
 
#define ND_has_port(n)   (((Agnodeinfo_t*)AGDATA(n))->has_port)
 
#define ND_rep(n)   (((Agnodeinfo_t*)AGDATA(n))->rep)
 
#define ND_heapindex(n)   (((Agnodeinfo_t*)AGDATA(n))->heapindex)
 
#define ND_height(n)   (((Agnodeinfo_t*)AGDATA(n))->height)
 
#define ND_hops(n)   (((Agnodeinfo_t*)AGDATA(n))->hops)
 
#define ND_ht(n)   (((Agnodeinfo_t*)AGDATA(n))->ht)
 
#define ND_in(n)   (((Agnodeinfo_t*)AGDATA(n))->in)
 
#define ND_inleaf(n)   (((Agnodeinfo_t*)AGDATA(n))->inleaf)
 
#define ND_label(n)   (((Agnodeinfo_t*)AGDATA(n))->label)
 
#define ND_xlabel(n)   (((Agnodeinfo_t*)AGDATA(n))->xlabel)
 
#define ND_lim(n)   (((Agnodeinfo_t*)AGDATA(n))->lim)
 
#define ND_low(n)   (((Agnodeinfo_t*)AGDATA(n))->low)
 
#define ND_lw(n)   (((Agnodeinfo_t*)AGDATA(n))->lw)
 
#define ND_mark(n)   (((Agnodeinfo_t*)AGDATA(n))->mark)
 
#define ND_mval(n)   (((Agnodeinfo_t*)AGDATA(n))->mval)
 
#define ND_n_cluster(n)   (((Agnodeinfo_t*)AGDATA(n))->n_cluster)
 
#define ND_next(n)   (((Agnodeinfo_t*)AGDATA(n))->next)
 
#define ND_node_type(n)   (((Agnodeinfo_t*)AGDATA(n))->node_type)
 
#define ND_onstack(n)   (((Agnodeinfo_t*)AGDATA(n))->onstack)
 
#define ND_order(n)   (((Agnodeinfo_t*)AGDATA(n))->order)
 
#define ND_other(n)   (((Agnodeinfo_t*)AGDATA(n))->other)
 
#define ND_out(n)   (((Agnodeinfo_t*)AGDATA(n))->out)
 
#define ND_outleaf(n)   (((Agnodeinfo_t*)AGDATA(n))->outleaf)
 
#define ND_par(n)   (((Agnodeinfo_t*)AGDATA(n))->par)
 
#define ND_pinned(n)   (((Agnodeinfo_t*)AGDATA(n))->pinned)
 
#define ND_pos(n)   (((Agnodeinfo_t*)AGDATA(n))->pos)
 
#define ND_prev(n)   (((Agnodeinfo_t*)AGDATA(n))->prev)
 
#define ND_priority(n)   (((Agnodeinfo_t*)AGDATA(n))->priority)
 
#define ND_rank(n)   (((Agnodeinfo_t*)AGDATA(n))->rank)
 
#define ND_ranktype(n)   (((Agnodeinfo_t*)AGDATA(n))->ranktype)
 
#define ND_rw(n)   (((Agnodeinfo_t*)AGDATA(n))->rw)
 
#define ND_save_in(n)   (((Agnodeinfo_t*)AGDATA(n))->save_in)
 
#define ND_save_out(n)   (((Agnodeinfo_t*)AGDATA(n))->save_out)
 
#define ND_shape(n)   (((Agnodeinfo_t*)AGDATA(n))->shape)
 
#define ND_shape_info(n)   (((Agnodeinfo_t*)AGDATA(n))->shape_info)
 
#define ND_showboxes(n)   (((Agnodeinfo_t*)AGDATA(n))->showboxes)
 
#define ND_state(n)   (((Agnodeinfo_t*)AGDATA(n))->state)
 
#define ND_clustnode(n)   (((Agnodeinfo_t*)AGDATA(n))->clustnode)
 
#define ND_tree_in(n)   (((Agnodeinfo_t*)AGDATA(n))->tree_in)
 
#define ND_tree_out(n)   (((Agnodeinfo_t*)AGDATA(n))->tree_out)
 
#define ND_weight_class(n)   (((Agnodeinfo_t*)AGDATA(n))->weight_class)
 
#define ND_width(n)   (((Agnodeinfo_t*)AGDATA(n))->width)
 
#define ND_xsize(n)   (ND_lw(n)+ND_rw(n))
 
#define ND_ysize(n)   (ND_ht(n))
 
#define ED_alg(e)   (((Agedgeinfo_t*)AGDATA(e))->alg)
 
#define ED_conc_opp_flag(e)   (((Agedgeinfo_t*)AGDATA(e))->conc_opp_flag)
 
#define ED_count(e)   (((Agedgeinfo_t*)AGDATA(e))->count)
 
#define ED_cutvalue(e)   (((Agedgeinfo_t*)AGDATA(e))->cutvalue)
 
#define ED_edge_type(e)   (((Agedgeinfo_t*)AGDATA(e))->edge_type)
 
#define ED_compound(e)   (((Agedgeinfo_t*)AGDATA(e))->compound)
 
#define ED_adjacent(e)   (((Agedgeinfo_t*)AGDATA(e))->adjacent)
 
#define ED_factor(e)   (((Agedgeinfo_t*)AGDATA(e))->factor)
 
#define ED_gui_state(e)   (((Agedgeinfo_t*)AGDATA(e))->gui_state)
 
#define ED_head_label(e)   (((Agedgeinfo_t*)AGDATA(e))->head_label)
 
#define ED_head_port(e)   (((Agedgeinfo_t*)AGDATA(e))->head_port)
 
#define ED_label(e)   (((Agedgeinfo_t*)AGDATA(e))->label)
 
#define ED_xlabel(e)   (((Agedgeinfo_t*)AGDATA(e))->xlabel)
 
#define ED_label_ontop(e)   (((Agedgeinfo_t*)AGDATA(e))->label_ontop)
 
#define ED_minlen(e)   (((Agedgeinfo_t*)AGDATA(e))->minlen)
 
#define ED_path(e)   (((Agedgeinfo_t*)AGDATA(e))->path)
 
#define ED_showboxes(e)   (((Agedgeinfo_t*)AGDATA(e))->showboxes)
 
#define ED_spl(e)   (((Agedgeinfo_t*)AGDATA(e))->spl)
 
#define ED_tail_label(e)   (((Agedgeinfo_t*)AGDATA(e))->tail_label)
 
#define ED_tail_port(e)   (((Agedgeinfo_t*)AGDATA(e))->tail_port)
 
#define ED_to_orig(e)   (((Agedgeinfo_t*)AGDATA(e))->to_orig)
 
#define ED_to_virt(e)   (((Agedgeinfo_t*)AGDATA(e))->to_virt)
 
#define ED_tree_index(e)   (((Agedgeinfo_t*)AGDATA(e))->tree_index)
 
#define ED_xpenalty(e)   (((Agedgeinfo_t*)AGDATA(e))->xpenalty)
 
#define ED_dist(e)   (((Agedgeinfo_t*)AGDATA(e))->dist)
 
#define ED_weight(e)   (((Agedgeinfo_t*)AGDATA(e))->weight)
 
#define ag_xget(x, a)   agxget(x,a)
 
#define SET_RANKDIR(g, rd)   (GD_rankdir2(g) = rd)
 
#define agfindedge(g, t, h)   (agedge(g,t,h,NULL,0))
 
#define agfindnode(g, n)   (agnode(g,n,0))
 
#define agfindgraphattr(g, a)   (agattr(g,AGRAPH,a,NULL))
 
#define agfindnodeattr(g, a)   (agattr(g,AGNODE,a,NULL))
 
#define agfindedgeattr(g, a)   (agattr(g,AGEDGE,a,NULL))
 

Typedefs

typedef unsigned char boolean
 
typedef int(* qsort_cmpf )(const void *, const void *)
 
typedef int(* bsearch_cmpf )(const void *, const void *)
 
typedef struct Agraph_s graph_t
 
typedef struct Agnode_s node_t
 
typedef struct Agedge_s edge_t
 
typedef struct Agsym_s attrsym_t
 
typedef struct htmllabel_t htmllabel_t
 
typedef union inside_t inside_t
 
typedef struct port port
 
typedef struct pathend_t pathend_t
 
typedef struct path path
 
typedef struct bezier bezier
 
typedef struct splines splines
 
typedef struct textlabel_t textlabel_t
 
typedef struct polygon_t polygon_t
 
typedef struct stroke_t stroke_t
 
typedef struct shape_t shape_t
 
typedef struct shape_functions shape_functions
 
typedef struct shape_desc shape_desc
 
typedef struct nodequeue nodequeue
 
typedef struct adjmatrix_t adjmatrix_t
 
typedef struct rank_t rank_t
 
typedef struct layout_t layout_t
 
typedef struct field_t field_t
 
typedef struct nlist_t nlist_t
 
typedef struct elist elist
 
typedef struct Agraphinfo_t Agraphinfo_t
 
typedef struct Agnodeinfo_t Agnodeinfo_t
 
typedef struct Agedgeinfo_t Agedgeinfo_t
 

Enumerations

enum  shape_kind {
  SH_UNSET, SH_POLY, SH_RECORD, SH_POINT,
  SH_EPSF
}
 
enum  ratio_t {
  R_NONE, R_VALUE, R_FILL, R_COMPRESS,
  R_AUTO, R_EXPAND
}
 
enum  fontname_kind { NATIVEFONTS, PSFONTS, SVGFONTS }
 

Macro Definition Documentation

#define ag_xget (   x,
 
)    agxget(x,a)

Definition at line 608 of file types.h.

Referenced by emit_clusters(), late_double(), and late_int().

#define agfindedge (   g,
  t,
 
)    (agedge(g,t,h,NULL,0))
#define agfindedgeattr (   g,
 
)    (agattr(g,AGEDGE,a,NULL))

Definition at line 614 of file types.h.

Referenced by edgecmd(), graph_init(), graphcmd(), gvplugin_graph(), makeMatrix(), and setedgeattributes().

#define agfindgraphattr (   g,
 
)    (agattr(g,AGRAPH,a,NULL))
#define agfindnode (   g,
 
)    (agnode(g,n,0))

Definition at line 611 of file types.h.

Referenced by graphcmd(), gvplugin_graph(), main(), makeGraphs(), nodecmd(), and twopi_layout().

#define agfindnodeattr (   g,
 
)    (agattr(g,AGNODE,a,NULL))
#define alloc_elist (   n,
 
)    do {L.size = 0; L.list = N_NEW(n + 1,edge_t*); } while (0)

Definition at line 273 of file types.h.

Referenced by makeGraphs(), and virtual_node().

#define ED_adjacent (   e)    (((Agedgeinfo_t*)AGDATA(e))->adjacent)

Definition at line 587 of file types.h.

Referenced by flat_edges().

#define ED_alg (   e)    (((Agedgeinfo_t*)AGDATA(e))->alg)

Definition at line 581 of file types.h.

Referenced by circomps().

#define ED_compound (   e)    (((Agedgeinfo_t*)AGDATA(e))->compound)

Definition at line 586 of file types.h.

Referenced by undoClusterEdges().

#define ED_conc_opp_flag (   e)    (((Agedgeinfo_t*)AGDATA(e))->conc_opp_flag)

Definition at line 582 of file types.h.

Referenced by arrow_flags(), and class2().

#define ED_count (   e)    (((Agedgeinfo_t*)AGDATA(e))->count)
#define ED_cutvalue (   e)    (((Agedgeinfo_t*)AGDATA(e))->cutvalue)

Definition at line 584 of file types.h.

#define ED_dist (   e)    (((Agedgeinfo_t*)AGDATA(e))->dist)

Definition at line 605 of file types.h.

Referenced by circuit_model(), flat_edges(), and s1().

#define ED_edge_type (   e)    (((Agedgeinfo_t*)AGDATA(e))->edge_type)
#define ED_factor (   e)    (((Agedgeinfo_t*)AGDATA(e))->factor)

Definition at line 588 of file types.h.

Referenced by diffeq_model().

#define ED_gui_state (   e)    (((Agedgeinfo_t*)AGDATA(e))->gui_state)

Definition at line 589 of file types.h.

#define ED_head_label (   e)    (((Agedgeinfo_t*)AGDATA(e))->head_label)
#define ED_head_port (   e)    (((Agedgeinfo_t*)AGDATA(e))->head_port)
#define ED_label (   e)    (((Agedgeinfo_t*)AGDATA(e))->label)
#define ED_label_ontop (   e)    (((Agedgeinfo_t*)AGDATA(e))->label_ontop)

Definition at line 594 of file types.h.

Referenced by common_init_edge().

#define ED_minlen (   e)    (((Agedgeinfo_t*)AGDATA(e))->minlen)

Definition at line 595 of file types.h.

Referenced by make_aux_edge(), and new_virtual_edge().

#define ED_path (   e)    (((Agedgeinfo_t*)AGDATA(e))->path)

Definition at line 596 of file types.h.

Referenced by compoundEdges(), gv_cleanup_edge(), makeMultiSpline(), and makeSpline().

#define ED_showboxes (   e)    (((Agedgeinfo_t*)AGDATA(e))->showboxes)

Definition at line 597 of file types.h.

#define ED_spl (   e)    (((Agedgeinfo_t*)AGDATA(e))->spl)
#define ED_tail_label (   e)    (((Agedgeinfo_t*)AGDATA(e))->tail_label)
#define ED_tail_port (   e)    (((Agedgeinfo_t*)AGDATA(e))->tail_port)
#define ED_to_orig (   e)    (((Agedgeinfo_t*)AGDATA(e))->to_orig)
#define ED_to_virt (   e)    (((Agedgeinfo_t*)AGDATA(e))->to_virt)
#define ED_tree_index (   e)    (((Agedgeinfo_t*)AGDATA(e))->tree_index)

Definition at line 603 of file types.h.

#define ED_weight (   e)    (((Agedgeinfo_t*)AGDATA(e))->weight)

Definition at line 606 of file types.h.

Referenced by make_aux_edge(), merge_chain(), new_virtual_edge(), and virtual_weight().

#define ED_xlabel (   e)    (((Agedgeinfo_t*)AGDATA(e))->xlabel)

Definition at line 593 of file types.h.

Referenced by attach_attrs_and_arrows(), common_init_edge(), compute_bb(), and gv_cleanup_edge().

#define ED_xpenalty (   e)    (((Agedgeinfo_t*)AGDATA(e))->xpenalty)

Definition at line 604 of file types.h.

Referenced by build_skeleton(), merge_chain(), and new_virtual_edge().

#define elist_append (   item,
 
)    do {L.list = ALLOC(L.size + 2,L.list,edge_t*); L.list[L.size++] = item; L.list[L.size] = NULL;} while(0)

Definition at line 272 of file types.h.

Referenced by fast_edge(), flat_edge(), flat_rev(), and other_edge().

#define elist_fastapp (   item,
 
)    do {L.list[L.size++] = item; L.list[L.size] = NULL;} while(0)

Definition at line 271 of file types.h.

#define FALSE   0

Definition at line 29 of file types.h.

#define free_list (   L)    do {if (L.list) free(L.list);} while (0)

Definition at line 274 of file types.h.

Referenced by dot_sameports().

#define GD_alg (   g)    (((Agraphinfo_t*)AGDATA(g))->alg)

Definition at line 361 of file types.h.

Referenced by circo_cleanup(), circomps(), findCComp(), and renderresult().

#define GD_bb (   g)    (((Agraphinfo_t*)AGDATA(g))->bb)
#define GD_border (   g)    (((Agraphinfo_t*)AGDATA(g))->border)

Definition at line 362 of file types.h.

Referenced by do_graph_label(), and place_graph_label().

#define GD_charset (   g)    (((Agraphinfo_t*)AGDATA(g))->charset)

Definition at line 371 of file types.h.

Referenced by graph_init(), initHTMLlexer(), and make_label().

#define GD_cl_cnt (   g)    (((Agraphinfo_t*)AGDATA(g))->cl_nt)

Definition at line 363 of file types.h.

#define GD_cleanup (   g)    (((Agraphinfo_t*)AGDATA(g))->cleanup)

Definition at line 359 of file types.h.

Referenced by gvFreeLayout(), and gvLayoutJobs().

#define GD_clust (   g)    (((Agraphinfo_t*)AGDATA(g))->clust)
#define GD_comp (   g)    (((Agraphinfo_t*)AGDATA(g))->comp)

Definition at line 366 of file types.h.

Referenced by acyclic(), class2(), decompose(), dot_mincross(), expand_cluster(), and rank1().

#define GD_dist (   g)    (((Agraphinfo_t*)AGDATA(g))->dist)
#define GD_dotroot (   g)    (((Agraphinfo_t*)AGDATA(g))->dotroot)

Definition at line 365 of file types.h.

Referenced by dot_root().

#define GD_drawing (   g)    (((Agraphinfo_t*)AGDATA(g))->drawing)
#define GD_exact_ranksep (   g)    (((Agraphinfo_t*)AGDATA(g))->exact_ranksep)

Definition at line 367 of file types.h.

Referenced by graph_init().

#define GD_expanded (   g)    (((Agraphinfo_t*)AGDATA(g))->expanded)

Definition at line 368 of file types.h.

#define GD_flags (   g)    (((Agraphinfo_t*)AGDATA(g))->flags)

Definition at line 369 of file types.h.

Referenced by dot_rank(), setEdgeType(), and spline_edges0().

#define GD_flip (   g)    (GD_rankdir(g) & 1)
#define GD_fontnames (   g)    (((Agraphinfo_t*)AGDATA(g))->fontnames)

Definition at line 411 of file types.h.

Referenced by graph_init().

#define GD_gui_state (   g)    (((Agraphinfo_t*)AGDATA(g))->gui_state)

Definition at line 370 of file types.h.

Referenced by emit_clusters().

#define GD_gvc (   g)    (((Agraphinfo_t*)AGDATA(g))->gvc)

Definition at line 358 of file types.h.

Referenced by gvLayoutJobs(), initHTMLlexer(), make_html_label(), make_label(), parseHTML(), and xdotBB().

#define GD_has_flat_edges (   g)    (((Agraphinfo_t*)AGDATA(g))->has_flat_edges)

Definition at line 374 of file types.h.

Referenced by flat_edge().

#define GD_has_images (   g)    (((Agraphinfo_t*)AGDATA(g))->has_images)

Definition at line 373 of file types.h.

#define GD_has_labels (   g)    (((Agraphinfo_t*)AGDATA(g))->has_labels)
#define GD_has_sinkrank (   g)    (((Agraphinfo_t*)AGDATA(g))->has_sinkrank)

Definition at line 376 of file types.h.

#define GD_has_sourcerank (   g)    (((Agraphinfo_t*)AGDATA(g))->has_sourcerank)

Definition at line 375 of file types.h.

#define GD_ht1 (   g)    (((Agraphinfo_t*)AGDATA(g))->ht1)

Definition at line 377 of file types.h.

#define GD_ht2 (   g)    (((Agraphinfo_t*)AGDATA(g))->ht2)

Definition at line 378 of file types.h.

#define GD_inleaf (   g)    (((Agraphinfo_t*)AGDATA(g))->inleaf)

Definition at line 379 of file types.h.

#define GD_installed (   g)    (((Agraphinfo_t*)AGDATA(g))->installed)

Definition at line 380 of file types.h.

Referenced by install_cluster().

#define GD_label (   g)    (((Agraphinfo_t*)AGDATA(g))->label)
#define GD_label_pos (   g)    (((Agraphinfo_t*)AGDATA(g))->label_pos)

Definition at line 409 of file types.h.

Referenced by do_graph_label(), gv_postprocess(), and place_graph_label().

#define GD_leader (   g)    (((Agraphinfo_t*)AGDATA(g))->leader)

Definition at line 382 of file types.h.

Referenced by dot_scan_ranks(), and mark_clusters().

#define GD_level (   g)    (((Agraphinfo_t*)AGDATA(g))->level)

Definition at line 355 of file types.h.

#define GD_ln (   g)    (((Agraphinfo_t*)AGDATA(g))->ln)

Definition at line 388 of file types.h.

#define GD_maxrank (   g)    (((Agraphinfo_t*)AGDATA(g))->maxrank)
#define GD_maxrep (   g)    (((Agraphinfo_t*)AGDATA(g))->maxrep)

Definition at line 394 of file types.h.

#define GD_maxset (   g)    (((Agraphinfo_t*)AGDATA(g))->maxset)

Definition at line 390 of file types.h.

#define GD_minrank (   g)    (((Agraphinfo_t*)AGDATA(g))->minrank)
#define GD_minrep (   g)    (((Agraphinfo_t*)AGDATA(g))->minrep)

Definition at line 393 of file types.h.

#define GD_minset (   g)    (((Agraphinfo_t*)AGDATA(g))->minset)

Definition at line 392 of file types.h.

#define GD_move (   g)    (((Agraphinfo_t*)AGDATA(g))->move)

Definition at line 395 of file types.h.

Referenced by choose_node(), final_energy(), move_node(), and solve_model().

#define GD_n_cluster (   g)    (((Agraphinfo_t*)AGDATA(g))->n_cluster)
#define GD_n_nodes (   g)    (((Agraphinfo_t*)AGDATA(g))->n_nodes)

Definition at line 397 of file types.h.

Referenced by build_ranks(), class2(), decompose(), and virtual_node().

#define GD_ndim (   g)    (((Agraphinfo_t*)AGDATA(g))->ndim)

Definition at line 398 of file types.h.

Referenced by circo_init_graph(), neato_init_node(), and twopi_init_graph().

#define GD_neato_nlist (   g)    (((Agraphinfo_t*)AGDATA(g))->neato_nlist)
#define GD_nlist (   g)    (((Agraphinfo_t*)AGDATA(g))->nlist)
#define GD_nodesep (   g)    (((Agraphinfo_t*)AGDATA(g))->nodesep)

Definition at line 402 of file types.h.

Referenced by compoundEdges(), graph_init(), and makeStraightEdges().

#define GD_odim (   g)    (((Agraphinfo_t*)AGDATA(g))->odim)

Definition at line 399 of file types.h.

Referenced by attach_attrs_and_arrows().

#define GD_outleaf (   g)    (((Agraphinfo_t*)AGDATA(g))->outleaf)

Definition at line 403 of file types.h.

#define GD_parent (   g)    (((Agraphinfo_t*)AGDATA(g))->parent)

Definition at line 354 of file types.h.

#define GD_rank (   g)    (((Agraphinfo_t*)AGDATA(g))->rank)
#define GD_rankdir (   g)    (((Agraphinfo_t*)AGDATA(g))->rankdir & 0x3)

Definition at line 384 of file types.h.

Referenced by gv_postprocess(), and html_path().

#define GD_rankdir2 (   g)    (((Agraphinfo_t*)AGDATA(g))->rankdir)

Definition at line 383 of file types.h.

#define GD_rankleader (   g)    (((Agraphinfo_t*)AGDATA(g))->rankleader)

Definition at line 405 of file types.h.

Referenced by build_skeleton(), decompose(), install_cluster(), rec_reset_vlists(), and save_vlist().

#define GD_ranksep (   g)    (((Agraphinfo_t*)AGDATA(g))->ranksep)

Definition at line 406 of file types.h.

Referenced by beginpath(), endpath(), and graph_init().

#define GD_realflip (   g)    (GD_realrankdir(g) & 1)

Definition at line 387 of file types.h.

#define GD_realrankdir (   g)    ((((Agraphinfo_t*)AGDATA(g))->rankdir) >> 2)

Definition at line 386 of file types.h.

#define GD_rn (   g)    (((Agraphinfo_t*)AGDATA(g))->rn)

Definition at line 407 of file types.h.

#define GD_set_type (   g)    (((Agraphinfo_t*)AGDATA(g))->set_type)

Definition at line 408 of file types.h.

#define GD_showboxes (   g)    (((Agraphinfo_t*)AGDATA(g))->showboxes)

Definition at line 410 of file types.h.

Referenced by graph_init().

#define GD_spring (   g)    (((Agraphinfo_t*)AGDATA(g))->spring)

Definition at line 412 of file types.h.

Referenced by D2E(), diffeq_model(), free_scan_graph(), scan_graph_mode(), and update_arrays().

#define GD_sum_t (   g)    (((Agraphinfo_t*)AGDATA(g))->sum_t)
#define GD_t (   g)    (((Agraphinfo_t*)AGDATA(g))->t)

Definition at line 414 of file types.h.

Referenced by diffeq_model(), free_scan_graph(), scan_graph_mode(), and update_arrays().

#define GUI_STATE_ACTIVE   (1<<0)

Definition at line 266 of file types.h.

#define GUI_STATE_DELETED   (1<<3)

Definition at line 269 of file types.h.

#define GUI_STATE_SELECTED   (1<<1)

Definition at line 267 of file types.h.

#define GUI_STATE_VISITED   (1<<2)

Definition at line 268 of file types.h.

#define HEAD_ID   "headport"

Definition at line 52 of file types.h.

Referenced by common_init_edge().

#define ND_alg (   n)    (((Agnodeinfo_t*)AGDATA(n))->alg)

Definition at line 490 of file types.h.

Referenced by checkLabelOrder(), circo_layout(), fdp_layout(), patchwork_cleanup(), and twopi_layout().

#define ND_bb (   n)    (((Agnodeinfo_t*)AGDATA(n))->bb)

Definition at line 494 of file types.h.

Referenced by overlap_node().

#define ND_clust (   n)    (((Agnodeinfo_t*)AGDATA(n))->clust)
#define ND_clustnode (   n)    (((Agnodeinfo_t*)AGDATA(n))->clustnode)

Definition at line 538 of file types.h.

#define ND_coord (   n)    (((Agnodeinfo_t*)AGDATA(n))->coord)
#define ND_dist (   n)    (((Agnodeinfo_t*)AGDATA(n))->dist)

Definition at line 497 of file types.h.

Referenced by heapdown(), heapup(), and s1().

#define ND_flat_in (   n)    (((Agnodeinfo_t*)AGDATA(n))->flat_in)

Definition at line 498 of file types.h.

Referenced by delete_flat_edge(), find_flat_edge(), flat_edge(), and flat_edges().

#define ND_flat_out (   n)    (((Agnodeinfo_t*)AGDATA(n))->flat_out)

Definition at line 499 of file types.h.

Referenced by delete_flat_edge(), find_flat_edge(), flat_edge(), flat_edges(), and flat_rev().

#define ND_gui_state (   n)    (((Agnodeinfo_t*)AGDATA(n))->gui_state)

Definition at line 500 of file types.h.

#define ND_has_port (   n)    (((Agnodeinfo_t*)AGDATA(n))->has_port)

Definition at line 501 of file types.h.

Referenced by common_init_edge().

#define ND_heapindex (   n)    (((Agnodeinfo_t*)AGDATA(n))->heapindex)

Definition at line 503 of file types.h.

Referenced by heapdown(), heapup(), neato_dequeue(), neato_enqueue(), s1(), and scan_graph_mode().

#define ND_height (   n)    (((Agnodeinfo_t*)AGDATA(n))->height)
#define ND_hops (   n)    (((Agnodeinfo_t*)AGDATA(n))->hops)

Definition at line 505 of file types.h.

Referenced by s1().

#define ND_ht (   n)    (((Agnodeinfo_t*)AGDATA(n))->ht)
#define ND_id (   n)    (((Agnodeinfo_t*)AGDATA(n))->id)
#define ND_in (   n)    (((Agnodeinfo_t*)AGDATA(n))->in)
#define ND_inleaf (   n)    (((Agnodeinfo_t*)AGDATA(n))->inleaf)

Definition at line 508 of file types.h.

#define ND_label (   n)    (((Agnodeinfo_t*)AGDATA(n))->label)

Definition at line 509 of file types.h.

Referenced by common_init_node(), gv_cleanup_node(), html_port(), and write_plain().

#define ND_lim (   n)    (((Agnodeinfo_t*)AGDATA(n))->lim)

Definition at line 511 of file types.h.

Referenced by getPath().

#define ND_low (   n)    (((Agnodeinfo_t*)AGDATA(n))->low)

Definition at line 512 of file types.h.

#define ND_lw (   n)    (((Agnodeinfo_t*)AGDATA(n))->lw)
#define ND_mark (   n)    (((Agnodeinfo_t*)AGDATA(n))->mark)

Definition at line 514 of file types.h.

Referenced by acyclic(), and decompose().

#define ND_mval (   n)    (((Agnodeinfo_t*)AGDATA(n))->mval)

Definition at line 515 of file types.h.

#define ND_n_cluster (   n)    (((Agnodeinfo_t*)AGDATA(n))->n_cluster)

Definition at line 516 of file types.h.

#define ND_next (   n)    (((Agnodeinfo_t*)AGDATA(n))->next)
#define ND_node_type (   n)    (((Agnodeinfo_t*)AGDATA(n))->node_type)
#define ND_onstack (   n)    (((Agnodeinfo_t*)AGDATA(n))->onstack)

Definition at line 519 of file types.h.

#define ND_order (   n)    (((Agnodeinfo_t*)AGDATA(n))->order)

Definition at line 520 of file types.h.

Referenced by checkLabelOrder(), clip_and_install(), install_in_rank(), and rec_reset_vlists().

#define ND_other (   n)    (((Agnodeinfo_t*)AGDATA(n))->other)

Definition at line 521 of file types.h.

Referenced by flat_edges(), flat_rev(), other_edge(), and safe_other_edge().

#define ND_out (   n)    (((Agnodeinfo_t*)AGDATA(n))->out)
#define ND_outleaf (   n)    (((Agnodeinfo_t*)AGDATA(n))->outleaf)

Definition at line 523 of file types.h.

#define ND_par (   n)    (((Agnodeinfo_t*)AGDATA(n))->par)

Definition at line 524 of file types.h.

#define ND_pinned (   n)    (((Agnodeinfo_t*)AGDATA(n))->pinned)

Definition at line 525 of file types.h.

Referenced by choose_node(), findCComp(), and user_pos().

#define ND_pos (   n)    (((Agnodeinfo_t*)AGDATA(n))->pos)
#define ND_prev (   n)    (((Agnodeinfo_t*)AGDATA(n))->prev)

Definition at line 527 of file types.h.

Referenced by delete_fast_node(), fast_node(), and fast_nodeapp().

#define ND_priority (   n)    (((Agnodeinfo_t*)AGDATA(n))->priority)

Definition at line 528 of file types.h.

#define ND_rank (   n)    (((Agnodeinfo_t*)AGDATA(n))->rank)
#define ND_ranktype (   n)    (((Agnodeinfo_t*)AGDATA(n))->ranktype)

Definition at line 530 of file types.h.

Referenced by build_ranks(), build_skeleton(), mark_clusters(), and UF_singleton().

#define ND_rep (   n)    (((Agnodeinfo_t*)AGDATA(n))->rep)

Definition at line 502 of file types.h.

#define ND_rw (   n)    (((Agnodeinfo_t*)AGDATA(n))->rw)
#define ND_save_in (   n)    (((Agnodeinfo_t*)AGDATA(n))->save_in)

Definition at line 532 of file types.h.

#define ND_save_out (   n)    (((Agnodeinfo_t*)AGDATA(n))->save_out)

Definition at line 533 of file types.h.

#define ND_set (   n)    (((Agnodeinfo_t*)AGDATA(n))->set)

Definition at line 492 of file types.h.

#define ND_shape (   n)    (((Agnodeinfo_t*)AGDATA(n))->shape)
#define ND_shape_info (   n)    (((Agnodeinfo_t*)AGDATA(n))->shape_info)
#define ND_showboxes (   n)    (((Agnodeinfo_t*)AGDATA(n))->showboxes)

Definition at line 536 of file types.h.

Referenced by common_init_node().

#define ND_state (   n)    (((Agnodeinfo_t*)AGDATA(n))->state)

Definition at line 537 of file types.h.

Referenced by emit_graph().

#define ND_tree_in (   n)    (((Agnodeinfo_t*)AGDATA(n))->tree_in)

Definition at line 539 of file types.h.

#define ND_tree_out (   n)    (((Agnodeinfo_t*)AGDATA(n))->tree_out)

Definition at line 540 of file types.h.

#define ND_UF_parent (   n)    (((Agnodeinfo_t*)AGDATA(n))->UF_parent)

Definition at line 491 of file types.h.

Referenced by UF_find(), UF_remove(), UF_setname(), UF_singleton(), and UF_union().

#define ND_UF_size (   n)    (((Agnodeinfo_t*)AGDATA(n))->UF_size)
#define ND_weight_class (   n)    (((Agnodeinfo_t*)AGDATA(n))->weight_class)

Definition at line 541 of file types.h.

Referenced by class2().

#define ND_width (   n)    (((Agnodeinfo_t*)AGDATA(n))->width)
#define ND_xlabel (   n)    (((Agnodeinfo_t*)AGDATA(n))->xlabel)
#define ND_xsize (   n)    (ND_lw(n)+ND_rw(n))

Definition at line 543 of file types.h.

Referenced by compute_bb().

#define ND_ysize (   n)    (ND_ht(n))

Definition at line 544 of file types.h.

Referenced by compute_bb().

#define NOT (   v)    (!(v))

Definition at line 26 of file types.h.

#define SET_RANKDIR (   g,
  rd 
)    (GD_rankdir2(g) = rd)

Definition at line 609 of file types.h.

Referenced by graph_init().

#define STROKE_CLOSED   (1 << 0)

Definition at line 165 of file types.h.

#define STROKE_FILLED   (1 << 1)

Definition at line 166 of file types.h.

#define STROKE_PENDOWN   (1 << 2)

Definition at line 167 of file types.h.

#define STROKE_VERTICES_ALLOCATED   (1 << 3)

Definition at line 168 of file types.h.

#define TAIL_ID   "tailport"

Definition at line 51 of file types.h.

Referenced by common_init_edge().

#define TRUE   NOT(FALSE)

Definition at line 32 of file types.h.

#define WITH_CGRAPH   1

Definition at line 18 of file types.h.

Typedef Documentation

typedef struct adjmatrix_t adjmatrix_t
typedef struct Agedgeinfo_t Agedgeinfo_t
typedef struct Agnodeinfo_t Agnodeinfo_t
typedef struct Agraphinfo_t Agraphinfo_t
typedef struct Agsym_s attrsym_t

Definition at line 50 of file types.h.

typedef struct bezier bezier
typedef unsigned char boolean

Definition at line 24 of file types.h.

typedef int(* bsearch_cmpf)(const void *, const void *)

Definition at line 46 of file types.h.

typedef struct Agedge_s edge_t

Definition at line 49 of file types.h.

typedef struct elist elist
typedef struct field_t field_t
typedef struct Agraph_s graph_t

Definition at line 47 of file types.h.

typedef struct htmllabel_t htmllabel_t

Definition at line 54 of file types.h.

typedef union inside_t inside_t
typedef struct layout_t layout_t
typedef struct nlist_t nlist_t
typedef struct Agnode_s node_t

Definition at line 48 of file types.h.

typedef struct nodequeue nodequeue
typedef struct path path
typedef struct pathend_t pathend_t
typedef struct polygon_t polygon_t
typedef struct port port
typedef int(* qsort_cmpf)(const void *, const void *)

Definition at line 45 of file types.h.

typedef struct rank_t rank_t
typedef struct shape_desc shape_desc
typedef struct shape_t shape_t
typedef struct splines splines
typedef struct stroke_t stroke_t
typedef struct textlabel_t textlabel_t

Enumeration Type Documentation

Enumerator
NATIVEFONTS 
PSFONTS 
SVGFONTS 

Definition at line 276 of file types.h.

enum ratio_t
Enumerator
R_NONE 
R_VALUE 
R_FILL 
R_COMPRESS 
R_AUTO 
R_EXPAND 

Definition at line 225 of file types.h.

enum shape_kind
Enumerator
SH_UNSET 
SH_POLY 
SH_RECORD 
SH_POINT 
SH_EPSF 

Definition at line 186 of file types.h.