1/* $Id$ $Revision$ */
2/* vim:set shiftwidth=4 ts=8: */
3
4/*************************************************************************
5 * Copyright (c) 2011 AT&T Intellectual Property
6 * All rights reserved. This program and the accompanying materials
7 * are made available under the terms of the Eclipse Public License v1.0
8 * which accompanies this distribution, and is available at
9 * http://www.eclipse.org/legal/epl-v10.html
10 *
11 * Contributors: See CVS logs. Details at http://www.graphviz.org/
12 *************************************************************************/
13
14/* this is to get the following win32 DLL junk to work.
15 * if ever tempted to remove this, first please read:
16 * http://joel.editthispage.com/stories/storyReader$47
17 */
18#ifndef GLOBALS_H
19#define GLOBALS_H
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25#ifndef __CYGWIN__
26#if defined(_BLD_dotneato) && defined(_DLL)
27# define external __EXPORT__
28#endif
29#if !defined(_BLD_dotneato) && defined(__IMPORT__)
30# define external __IMPORT__
31#endif
32#if defined(GVDLL)
33#if !defined(_BLD_gvc)
34#define extern __declspec(dllimport)
35#else
36#define extern __declspec(dllexport)
37#endif
38#endif
39#endif
40/*visual studio*/
41#ifdef _WIN32
42#ifndef GVC_EXPORTS
43#define extern __declspec(dllimport)
44#endif
45#endif
46/*end visual studio*/
47
48#ifndef external
49# define external extern
50#endif
51#ifndef EXTERN
52#define EXTERN extern
53#endif
54
55 EXTERN char *Version;
56 EXTERN char **Files; /* from command line */
57 EXTERN const char **Lib; /* from command line */
58 EXTERN char *CmdName;
59 EXTERN char *specificFlags;
60 EXTERN char *specificItems;
61 EXTERN char *Gvfilepath; /* Per-process path of files allowed in image attributes (also ps libs) */
62 EXTERN char *Gvimagepath; /* Per-graph path of files allowed in image attributes (also ps libs) */
63
64 EXTERN unsigned char Verbose;
65 EXTERN unsigned char Reduce;
66 EXTERN int MemTest;
67 EXTERN char *HTTPServerEnVar;
68 EXTERN char *Output_file_name;
69 EXTERN int graphviz_errors;
70 EXTERN int Nop;
71 EXTERN double PSinputscale;
72 EXTERN int Syntax_errors;
73 EXTERN int Show_cnt;
74 EXTERN char** Show_boxes; /* emit code for correct box coordinates */
75 EXTERN int CL_type; /* NONE, LOCAL, GLOBAL */
76 EXTERN unsigned char Concentrate; /* if parallel edges should be merged */
77 EXTERN double Epsilon; /* defined in input_graph */
78 EXTERN int MaxIter;
79 EXTERN int Ndim;
80 EXTERN int State; /* last finished phase */
81 EXTERN int EdgeLabelsDone; /* true if edge labels have been positioned */
82 EXTERN double Initial_dist;
83 EXTERN double Damping;
84 EXTERN int Y_invert; /* invert y in dot & plain output */
85 EXTERN int GvExitOnUsage; /* gvParseArgs() should exit on usage or error */
86
87 EXTERN Agsym_t
88 *G_activepencolor, *G_activefillcolor,
89 *G_selectedpencolor, *G_selectedfillcolor,
90 *G_visitedpencolor, *G_visitedfillcolor,
91 *G_deletedpencolor, *G_deletedfillcolor,
92 *G_ordering, *G_peripheries, *G_penwidth,
93 *G_gradientangle, *G_margin;
94 EXTERN Agsym_t
95 *N_height, *N_width, *N_shape, *N_color, *N_fillcolor,
96 *N_activepencolor, *N_activefillcolor,
97 *N_selectedpencolor, *N_selectedfillcolor,
98 *N_visitedpencolor, *N_visitedfillcolor,
99 *N_deletedpencolor, *N_deletedfillcolor,
100 *N_fontsize, *N_fontname, *N_fontcolor, *N_margin,
101 *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes,
102 *N_sides, *N_peripheries, *N_ordering, *N_orientation,
103 *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_imagepos, *N_layer,
104 *N_group, *N_comment, *N_vertices, *N_z,
105 *N_penwidth, *N_gradientangle;
106 EXTERN Agsym_t
107 *E_weight, *E_minlen, *E_color, *E_fillcolor,
108 *E_activepencolor, *E_activefillcolor,
109 *E_selectedpencolor, *E_selectedfillcolor,
110 *E_visitedpencolor, *E_visitedfillcolor,
111 *E_deletedpencolor, *E_deletedfillcolor,
112 *E_fontsize, *E_fontname, *E_fontcolor,
113 *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate,
114 *E_showboxes, *E_arrowsz, *E_constr, *E_layer,
115 *E_comment, *E_label_float,
116 *E_samehead, *E_sametail,
117 *E_arrowhead, *E_arrowtail,
118 *E_headlabel, *E_taillabel,
119 *E_labelfontsize, *E_labelfontname, *E_labelfontcolor,
120 *E_labeldistance, *E_labelangle,
121 *E_tailclip, *E_headclip,
122 *E_penwidth;
123
124 extern struct fdpParms_s* fdp_parms;
125
126#undef external
127#undef EXTERN
128#ifdef extern
129#undef extern
130#endif
131
132#ifdef __cplusplus
133}
134#endif
135#endif
136