1 /*------------------------------------------------------------\
2 |                                                             |
3 | This file is part of the Alliance CAD System Copyright      |
4 | (C) Laboratoire LIP6 - D�partement ASIM Universite P&M Curie|
5 |                                                             |
6 | Home page      : http://www-asim.lip6.fr/alliance/          |
7 | E-mail         : mailto:alliance-users@asim.lip6.fr       |
8 |                                                             |
9 | This progam is  free software; you can redistribute it      |
10 | and/or modify it under the  terms of the GNU General Public |
11 | License as  published by the Free Software Foundation;      |
12 | either version 2 of the License, or (at your option) any    |
13 | later version.                                              |
14 |                                                             |
15 | Alliance VLSI  CAD System  is distributed  in the hope that |
16 | it  will be useful, but WITHOUT  ANY WARRANTY;              |
17 | without even the  implied warranty of MERCHANTABILITY or    |
18 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General       |
19 | Public License for more details.                            |
20 |                                                             |
21 | You should have received a copy  of the GNU General Public  |
22 | License along with the GNU C Library; see the file COPYING. |
23 | If not, write to the Free Software Foundation, Inc.,        |
24 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.                     |
25 |                                                             |
26 \------------------------------------------------------------*/
27 
28 /*------------------------------------------------------------\
29 |                                                             |
30 | Tool    :                   GRAAL                           |
31 |                                                             |
32 | File    :                  gmx101.h                         |
33 |                                                             |
34 | Author  :                Jacomme Ludovic                    |
35 |                                                             |
36 | Date    :                  28.03.95                         |
37 |                                                             |
38 \------------------------------------------------------------*/
39 
40 /*------------------------------------------------------------\
41 |                                                             |
42 |                         Include Files                       |
43 |                                                             |
44 \------------------------------------------------------------*/
45 /*------------------------------------------------------------\
46 |                                                             |
47 |                           Constants                         |
48 |                                                             |
49 \------------------------------------------------------------*/
50 
51 # ifndef GRAAL_GMX
52 # define GRAAL_GMX
53 
54 /*------------------------------------------------------------\
55 |                                                             |
56 |                         Graphic Context                     |
57 |                                                             |
58 \------------------------------------------------------------*/
59 /*------------------------------------------------------------\
60 |                                                             |
61 |                          Colors Define                      |
62 |                                                             |
63 \------------------------------------------------------------*/
64 
65 # define GRAAL_BLACK_COLOR    "Black"
66 # define GRAAL_WHITE_COLOR    "White"
67 # define GRAAL_TEXT_COLOR     "White"
68 # define GRAAL_ACCEPT_COLOR   "magenta"
69 # define GRAAL_EQUI_COLOR     "White"
70 # define GRAAL_DRUC_COLOR     "Gray"
71 # define GRAAL_CURSOR_COLOR   "Black"
72 
73 /*------------------------------------------------------------\
74 |                                                             |
75 |                       Graal Message                         |
76 |                                                             |
77 \------------------------------------------------------------*/
78 
79 # define GRAAL_MAX_MESSAGE    7
80 
81 # define GRAAL_MESSAGE_X      0
82 # define GRAAL_MESSAGE_Y      1
83 # define GRAAL_MESSAGE_DX     2
84 # define GRAAL_MESSAGE_DY     3
85 # define GRAAL_MESSAGE_MODE   4
86 # define GRAAL_MESSAGE_INFO   5
87 # define GRAAL_MESSAGE_PROMPT 6
88 
89 /*------------------------------------------------------------\
90 |                                                             |
91 |                            Types                            |
92 |                                                             |
93 \------------------------------------------------------------*/
94 /*------------------------------------------------------------\
95 |                                                             |
96 |                          Variables                          |
97 |                                                             |
98 \------------------------------------------------------------*/
99 /*------------------------------------------------------------\
100 |                                                             |
101 |                          Graal Widget                       |
102 |                                                             |
103 \------------------------------------------------------------*/
104 
105   extern XtAppContext  GraalApplication;
106   extern Widget        GraalTopLevel;
107   extern Widget        GraalMainWindow;
108   extern Widget        GraalMainForm;
109 
110   extern Widget        GraalMenuBar;
111 
112   extern Widget        GraalGraphicFrame;
113   extern Widget        GraalGraphicWindow;
114   extern Display      *GraalGraphicDisplay;
115 
116   extern Widget        GraalMessageMainPaned;
117   extern Widget        GraalMessageMainForm;
118   extern Widget        GraalMessageForm  [ GRAAL_MAX_MESSAGE ];
119   extern Widget        GraalMessageText  [ GRAAL_MAX_MESSAGE ];
120   extern Widget        GraalMessageLabel [ GRAAL_MAX_MESSAGE ];
121   extern Widget        GraalMessageFrame [ GRAAL_MAX_MESSAGE ];
122 
123 /*------------------------------------------------------------\
124 |                                                             |
125 |                      Graal Graphic Context                  |
126 |                                                             |
127 \------------------------------------------------------------*/
128 
129   extern GC GraalLayerFillGC   [ RDS_ALL_LAYER ];
130   extern GC GraalLayerDrawGC   [ RDS_ALL_LAYER ];
131   extern GC GraalLayerAcceptGC [ RDS_ALL_LAYER ];
132   extern GC GraalLayerEquiGC   [ RDS_ALL_LAYER ];
133   extern GC GraalLayerDrucGC   [ RDS_ALL_LAYER ];
134   extern GC GraalAcceptDrawGC;
135   extern GC GraalEquiDrawGC;
136   extern GC GraalDrucDrawGC;
137   extern GC GraalBackgroundGC;
138   extern GC GraalGridGC;
139   extern GC GraalXorGC;
140   extern GC GraalSmallTextGC;
141   extern GC GraalMediumTextGC;
142   extern GC GraalLargeTextGC;
143 
144   extern XFontStruct *GraalSmallTextFont;
145   extern XFontStruct *GraalLargeTextFont;
146   extern XFontStruct *GraalMediumTextFont;
147 
148 /*------------------------------------------------------------\
149 |                                                             |
150 |                      Graal Graphic Pixmap                   |
151 |                                                             |
152 \------------------------------------------------------------*/
153 
154   extern Pixmap    GraalGraphicPixmap;
155 
156 /*------------------------------------------------------------\
157 |                                                             |
158 |                      Graal Colormap                         |
159 |                                                             |
160 \------------------------------------------------------------*/
161 
162   extern Colormap  GraalColorMap;
163 
164 /*------------------------------------------------------------\
165 |                                                             |
166 |                      Graal Graphic Size                     |
167 |                                                             |
168 \------------------------------------------------------------*/
169 
170   extern Dimension GraalOldGraphicDx;
171   extern Dimension GraalOldGraphicDy;
172   extern Dimension GraalGraphicDx;
173   extern Dimension GraalGraphicDy;
174 
175 /*------------------------------------------------------------\
176 |                                                             |
177 |                       Graal Lambda Grid                     |
178 |                                                             |
179 \------------------------------------------------------------*/
180 
181   extern float GraalLambdaGridStep;
182   extern long  GraalLambdaGridX;
183   extern long  GraalLambdaGridY;
184   extern long  GraalLambdaGridDx;
185   extern long  GraalLambdaGridDy;
186   extern long  GraalPixelGridX;
187   extern long  GraalPixelGridY;
188 
189 /*------------------------------------------------------------\
190 |                                                             |
191 |                      User Lambda Grid                       |
192 |                                                             |
193 \------------------------------------------------------------*/
194 
195   extern long GraalLambdaUserGridDx;
196   extern long GraalLambdaUserGridDy;
197   extern char GraalLambdaUserGrid;
198 
199 /*------------------------------------------------------------\
200 |                                                             |
201 |                         Graal Cursor                        |
202 |                                                             |
203 \------------------------------------------------------------*/
204 
205   extern long GraalLambdaCursorX;
206   extern long GraalLambdaCursorY;
207 
208 /*------------------------------------------------------------\
209 |                                                             |
210 |                         Graal Event                         |
211 |                                                             |
212 \------------------------------------------------------------*/
213 
214   extern char GraalCountEventZoom;
215   extern char GraalCountEventEdit;
216 
217 /*------------------------------------------------------------\
218 |                                                             |
219 |                          Functions                          |
220 |                                                             |
221 \------------------------------------------------------------*/
222 /*------------------------------------------------------------\
223 |                                                             |
224 |                   GraalInitializeRessources                 |
225 |                                                             |
226 \------------------------------------------------------------*/
227 
228   extern void GraalInitializeRessources();
229 
230 /*------------------------------------------------------------\
231 |                                                             |
232 |                     Graal Change Title                      |
233 |                                                             |
234 \------------------------------------------------------------*/
235 
236   extern void GraalChangeTopLevelTitle();
237 
238 /*------------------------------------------------------------\
239 |                                                             |
240 |                     Graal Edit Mode                         |
241 |                                                             |
242 \------------------------------------------------------------*/
243 
244   extern void GraalChangeEditMode();
245   extern void GraalContinueEditMode();
246 
247 /*------------------------------------------------------------\
248 |                                                             |
249 |                     GraalDisplayMessage                     |
250 |                                                             |
251 \------------------------------------------------------------*/
252 
253   extern void GraalDisplayMessage();
254   extern void GraalPromptEditMeasure();
255 
256 /*------------------------------------------------------------\
257 |                                                             |
258 |                      Graal Graphic Window                   |
259 |                                                             |
260 \------------------------------------------------------------*/
261 
262   extern void GraalClearGraphicWindow();
263   extern void GraalResizeGraphicWindow();
264   extern void GraalRefreshGraphicWindow();
265 
266 /*------------------------------------------------------------\
267 |                                                             |
268 |                      Graal Lambda Grid                      |
269 |                                                             |
270 \------------------------------------------------------------*/
271 
272   extern void    GraalComputeLambdaGrid();
273   extern void    GraalResizeLambdaGrid();
274 
275 /*------------------------------------------------------------\
276 |                                                             |
277 |                     Graal Display Figure                    |
278 |                                                             |
279 \------------------------------------------------------------*/
280 
281   extern void GraalDisplayFigure();
282   extern void GraalDisplayRectangle();
283 
284 /*------------------------------------------------------------\
285 |                                                             |
286 |                        Graal Cursor                         |
287 |                                                             |
288 \------------------------------------------------------------*/
289 
290   extern void GraalDisplayCursor();
291   extern void GraalUndisplayCursor();
292 
293 # endif
294