|
Graphviz
2.29.20120523.0446
|
00001 /* $Id$ $Revision$ */ 00002 /* vim:set shiftwidth=4 ts=8: */ 00003 00004 /************************************************************************* 00005 * Copyright (c) 2011 AT&T Intellectual Property 00006 * All rights reserved. This program and the accompanying materials 00007 * are made available under the terms of the Eclipse Public License v1.0 00008 * which accompanies this distribution, and is available at 00009 * http://www.eclipse.org/legal/epl-v10.html 00010 * 00011 * Contributors: See CVS logs. Details at http://www.graphviz.org/ 00012 *************************************************************************/ 00013 00014 #ifndef GV_CONST_H 00015 #define GV_CONST_H 00016 00017 #define SMALLBUF 128 00018 #define LPAREN '(' 00019 #define RPAREN ')' 00020 #define LBRACE '{' 00021 #define RBRACE '}' 00022 00023 /* node,edge types */ 00024 #ifdef NORMAL 00025 #undef NORMAL 00026 #endif 00027 #define NORMAL 0 /* an original input node */ 00028 #define VIRTUAL 1 /* virtual nodes in long edge chains */ 00029 #define SLACKNODE 2 /* encode edges in node position phase */ 00030 #define REVERSED 3 /* reverse of an original edge */ 00031 #define FLATORDER 4 /* for ordered edges */ 00032 #define CLUSTER_EDGE 5 /* for ranking clusters */ 00033 #define IGNORED 6 /* concentrated multi-edges */ 00034 00035 /* collapsed node classifications */ 00036 #define NOCMD 0 /* default */ 00037 #define SAMERANK 1 /* place on same rank */ 00038 #define MINRANK 2 /* place on "least" rank */ 00039 #define SOURCERANK 3 /* strict version of MINRANK */ 00040 #define MAXRANK 4 /* place on "greatest" rank */ 00041 #define SINKRANK 5 /* strict version of MAXRANK */ 00042 #define LEAFSET 6 /* set of collapsed leaf nodes */ 00043 #define CLUSTER 7 /* set of clustered nodes */ 00044 00045 /* type of cluster rank assignment */ 00046 #define LOCAL 100 00047 #define GLOBAL 101 00048 #define NOCLUST 102 00049 00050 /* default attributes */ 00051 #define DEFAULT_COLOR "black" 00052 #define DEFAULT_ACTIVEPENCOLOR "#808080" 00053 #define DEFAULT_ACTIVEFILLCOLOR "#fcfcfc" 00054 #define DEFAULT_ACTIVEFONTCOLOR "black" 00055 #define DEFAULT_SELECTEDPENCOLOR "#303030" 00056 #define DEFAULT_SELECTEDFILLCOLOR "#e8e8e8" 00057 #define DEFAULT_SELECTEDFONTCOLOR "black" 00058 #define DEFAULT_DELETEDPENCOLOR "#e0e0e0" 00059 #define DEFAULT_DELETEDFILLCOLOR "#f0f0f0" 00060 #define DEFAULT_DELETEDFONTCOLOR "darkgrey" 00061 #define DEFAULT_VISITEDPENCOLOR "#101010" 00062 #define DEFAULT_VISITEDFILLCOLOR "#f8f8f8" 00063 #define DEFAULT_VISITEDFONTCOLOR "black" 00064 #define DEFAULT_FONTSIZE 14.0 00065 #define DEFAULT_LABEL_FONTSIZE 11.0 /* for head/taillabel */ 00066 #define MIN_FONTSIZE 1.0 00067 #define DEFAULT_FONTNAME "Times-Roman" 00068 #define DEFAULT_FILL "lightgrey" 00069 #define LINESPACING 1.20 00070 00071 #define DEFAULT_NODEHEIGHT 0.5 00072 #define MIN_NODEHEIGHT 0.02 00073 #define DEFAULT_NODEWIDTH 0.75 00074 #define MIN_NODEWIDTH 0.01 00075 #define DEFAULT_NODESHAPE "ellipse" 00076 00077 #define NODENAME_ESC "\\N" 00078 00079 #define DEFAULT_LAYERSEP ":\t " 00080 #define DEFAULT_LAYERLISTSEP "," 00081 00082 #define DEFAULT_NODESEP 0.25 00083 #define MIN_NODESEP 0.02 00084 #define DEFAULT_RANKSEP 0.5 00085 #define MIN_RANKSEP 0.02 00086 00087 00088 /* default margin for paged formats such as PostScript - in points = 0.5in */ 00089 #define DEFAULT_PRINT_MARGIN 36 00090 /* default margin for embedded formats such as PNG - in points */ 00091 #define DEFAULT_EMBED_MARGIN 0 00092 /* default padding around graph - in points */ 00093 #define DEFAULT_GRAPH_PAD 4 00094 00095 #define SELF_EDGE_SIZE 18 00096 #define MC_SCALE 256 /* for mincross */ 00097 00098 #define PORT_LABEL_DISTANCE 10 00099 #define PORT_LABEL_ANGLE -25 /* degrees; pos is CCW, neg is CW */ 00100 00101 /* default polygon sample size for overlap removal and maps */ 00102 #define DFLT_SAMPLE 20 00103 00104 /* arrow types */ 00105 #define ARR_NONE 0 00106 00107 /* sides (e.g. of cluster margins) */ 00108 #define BOTTOM_IX 0 00109 #define RIGHT_IX 1 00110 #define TOP_IX 2 00111 #define LEFT_IX 3 00112 00113 /* sides of boxes for SHAPE_path */ 00114 #define BOTTOM (1<<BOTTOM_IX) 00115 #define RIGHT (1<<RIGHT_IX) 00116 #define TOP (1<<TOP_IX) 00117 #define LEFT (1<<LEFT_IX) 00118 00119 #define CCW -1 /* counter clock-wise */ 00120 #define CW 1 /* clock-wise */ 00121 00122 /* Obj types for renderers */ 00123 #define NONE 0 00124 #define NODE 1 00125 #define EDGE 2 00126 #define CLST 3 00127 00128 /* output languages */ 00129 #define HPGL 2 /* HP Graphics Language */ 00130 #define PCL 3 /* Printer Control Language */ 00131 #define MIF 4 /* Adobe FrameMaker */ 00132 #define PIC_format 5 /* symbol PIC is used by compilers for 00133 Position Independent Code */ 00134 #define TK 15 /* TK canvas */ 00135 00136 #define VTX 21 /* visual thought */ 00137 #define METAPOST 22 00138 #define DIA 24 /* dia drawing tool */ 00139 00140 #define QPDF 30 /* Quartz paged PDF */ 00141 #define QEPDF 31 /* Quartz embedded PDF */ 00142 00143 #define QBM_FIRST 100 /* first Quartz bitmap format, inclusive */ 00144 #define QBM_LAST 200 /* last Quartz bitmap format, exclusive */ 00145 00146 #define GVRENDER_PLUGIN 300 /* a plugin supported language */ 00147 #define NO_SUPPORT 999 /* no support */ 00148 00149 /* for clusters */ 00150 #define CL_BACK 10 /* cost of backward pointing edge */ 00151 #define CL_OFFSET 8 /* margin of cluster box in PS points */ 00152 #ifndef MSWIN32 00153 #define CL_CROSS 1000 /* cost of cluster skeleton edge crossing */ 00154 #else 00155 #define CL_CROSS 100 /* avoid 16 bit overflow */ 00156 #endif 00157 00158 /* edge types */ 00159 #define REGULAREDGE 1 00160 #define FLATEDGE 2 00161 #define SELFWPEDGE 4 00162 #define SELFNPEDGE 8 00163 #define SELFEDGE 8 00164 #define EDGETYPEMASK 15 /* the OR of the above */ 00165 00166 /* for graph server */ 00167 #define SERVER_NN 200 00168 #define SERVER_NE 500 00169 00170 /* for neato */ 00171 #define Spring_coeff 1.0 00172 #define MYHUGE (1.0e+37) 00173 #define MAXDIM 10 00174 00175 /* drawing phases */ 00176 #define GVBEGIN 0 00177 #define GVSPLINES 1 00178 00179 /* existence of labels */ 00180 #define EDGE_LABEL (1 << 0) 00181 #define HEAD_LABEL (1 << 1) 00182 #define TAIL_LABEL (1 << 2) 00183 #define GRAPH_LABEL (1 << 3) 00184 #define NODE_XLABEL (1 << 4) 00185 #define EDGE_XLABEL (1 << 5) 00186 00187 /* type of graph label: GD_label_pos */ 00188 #define LABEL_AT_BOTTOM 0 00189 #define LABEL_AT_TOP 1 00190 #define LABEL_AT_LEFT 2 00191 #define LABEL_AT_RIGHT 4 00192 00193 /* values specifying rankdir */ 00194 #define RANKDIR_TB 0 00195 #define RANKDIR_LR 1 00196 #define RANKDIR_BT 2 00197 #define RANKDIR_RL 3 00198 00199 /* allowed charsets */ 00200 #define CHAR_UTF8 0 00201 #define CHAR_LATIN1 1 00202 #define CHAR_BIG5 2 00203 00204 /* style flags */ 00205 #define FILLED (1 << 0) 00206 #define RADIAL (1 << 1) 00207 #define ROUNDED (1 << 2) 00208 #define DIAGONALS (1 << 3) 00209 #define AUXLABELS (1 << 4) 00210 #define INVISIBLE (1 << 5) 00211 #define DOGEAR (1 << 6) 00212 #define TAB (1 << 7) 00213 #define FOLDER (1 << 8) 00214 #define BOX3D (1 << 9) 00215 #define COMPONENT (1 << 10) 00216 00217 /* fill types */ 00218 #define FILL 1 00219 #define GRADIENT 2 00220 #define RGRADIENT 3 00221 00222 /* label types */ 00223 #define LT_NONE (0 << 1) 00224 #define LT_HTML (1 << 1) 00225 #define LT_RECD (2 << 1) 00226 00227 /* Flags stored in GD_flags 00228 * Bit(s): 0 HAS_CLUSt_EDGE 00229 * 1-3 ET_ 00230 * 4 NEW_RANK 00231 */ 00232 00233 /* edge types */ 00234 #define ET_NONE (0 << 1) 00235 #define ET_LINE (1 << 1) 00236 #define ET_PLINE (2 << 1) 00237 #define ET_ORTHO (3 << 1) 00238 #define ET_SPLINE (4 << 1) 00239 #define ET_COMPOUND (5 << 1) 00240 00241 /* New ranking is used */ 00242 #define NEW_RANK (1 << 4) 00243 /******/ 00244 00245 /* user-specified node position: ND_pinned */ 00246 #define P_SET 1 /* position supplied by user */ 00247 #define P_FIX 2 /* position fixed during topological layout */ 00248 #define P_PIN 3 /* position fixed */ 00249 00250 #define GAP 4 /* whitespace in POINTS around labels and between peripheries */ 00251 00252 /* fontsize at which text is omitted entirely */ 00253 #define FONTSIZE_MUCH_TOO_SMALL 0.15 00254 /* fontsize at which text is rendered by a simple line */ 00255 #define FONTSIZE_TOO_SMALL 1.5 00256 00257 #endif
1.7.5