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 : GSB101.h | 33 | | 34 | Author : Jacomme Ludovic | 35 | | 36 | Date : 28.03.95 | 37 | | 38 \------------------------------------------------------------*/ 39 40 /*------------------------------------------------------------\ 41 | | 42 | Constants | 43 | | 44 \------------------------------------------------------------*/ 45 46 # ifndef GRAAL_GSB 47 # define GRAAL_GSB 48 49 # define GRAAL_TRUE 1 50 # define GRAAL_FALSE 0 51 52 # define GRAAL_ERROR 1 53 # define GRAAL_OK 0 54 55 # define GRAAL_NORTH 0 56 # define GRAAL_SOUTH 1 57 # define GRAAL_EAST 2 58 # define GRAAL_WEST 3 59 60 # define GRAAL_NORTH_MASK 1 61 # define GRAAL_SOUTH_MASK 2 62 # define GRAAL_WEST_MASK 4 63 # define GRAAL_EAST_MASK 8 64 65 # define GRAAL_DEFAULT_FIGURE_NAME "NONAME" 66 67 /*------------------------------------------------------------\ 68 | | 69 | Edit Mode | 70 | | 71 \------------------------------------------------------------*/ 72 73 # define GRAAL_EDIT_MEASURE (char)0x00 74 # define GRAAL_CREATE_SEGMENT (char)0x01 75 # define GRAAL_CREATE_SEGMENT_WIRE (char)0x02 76 # define GRAAL_CREATE_VIA (char)0x03 77 # define GRAAL_CREATE_TRANSISTOR (char)0x04 78 # define GRAAL_CREATE_TRANSISTOR_WIRE (char)0x05 79 # define GRAAL_CREATE_CONNECTOR (char)0x06 80 # define GRAAL_CREATE_INSTANCE (char)0x07 81 # define GRAAL_CREATE_REFERENCE (char)0x08 82 # define GRAAL_CREATE_ABUTMENTBOX (char)0x09 83 # define GRAAL_SELECT_POINT_IDENTIFY (char)0x0A 84 # define GRAAL_SELECT_POINT_COPY (char)0x0B 85 # define GRAAL_SELECT_POINT_MOVE (char)0x0C 86 # define GRAAL_SELECT_POINT_DELETE (char)0x0D 87 # define GRAAL_SELECT_POINT_STRETCH (char)0x0E 88 # define GRAAL_SELECT_POINT_MODIFY (char)0x0F 89 # define GRAAL_SELECT_WINDOW_COPY (char)0x10 90 # define GRAAL_SELECT_WINDOW_MOVE (char)0x11 91 # define GRAAL_SELECT_WINDOW_DELETE (char)0x12 92 # define GRAAL_SELECT_WINDOW_STRETCH (char)0x13 93 # define GRAAL_SELECT_WINDOW_MODIFY (char)0x14 94 # define GRAAL_SELECT_WINDOW_IDENTIFY (char)0x15 95 # define GRAAL_EDIT_COPY_POINT (char)0x16 96 # define GRAAL_EDIT_COPY_WINDOW (char)0x17 97 # define GRAAL_EDIT_MOVE_POINT (char)0x18 98 # define GRAAL_EDIT_MOVE_WINDOW (char)0x19 99 # define GRAAL_EDIT_STRETCH_POINT (char)0x1A 100 # define GRAAL_EDIT_STRETCH_WINDOW (char)0x1B 101 # define GRAAL_TOOLS_EQUI (char)0x1C 102 # define GRAAL_TOOLS_FLATTEN (char)0x1D 103 # define GRAAL_TOOLS_UNFLATTEN (char)0x1E 104 # define GRAAL_TOOLS_PEEK (char)0x1F 105 # define GRAAL_TOOLS_DRUC (char)0x20 106 # define GRAAL_TOOLS_REAL_FLATTEN (char)0x21 107 # define GRAAL_TOOLS_HIERARCHY_DOWN (char)0x22 108 # define GRAAL_TOOLS_HIERARCHY_SHOW (char)0x23 109 # define GRAAL_CREATE_BIGVIA (char)0x24 110 111 112 # define GRAAL_ZOOM_CENTER (char)0x80 113 # define GRAAL_ZOOM_IN (char)0x81 114 # define GRAAL_ZOOM_PAN (char)0x82 115 116 # define GRAAL_ZOOM_MARK (char)0x80 117 118 /*------------------------------------------------------------\ 119 | | 120 | Input Mode | 121 | | 122 \------------------------------------------------------------*/ 123 124 # define GRAAL_INPUT_POINT 0 125 # define GRAAL_INPUT_ORTHO 1 126 # define GRAAL_INPUT_LINE 2 127 # define GRAAL_INPUT_LSTRING 3 128 # define GRAAL_INPUT_BOX 4 129 # define GRAAL_INPUT_SORTHO 5 130 # define GRAAL_INPUT_HALF_BOX 6 131 132 /*------------------------------------------------------------\ 133 | | 134 | Active Name | 135 | | 136 \------------------------------------------------------------*/ 137 138 # define GRAAL_FIGURE_NAME 0 139 # define GRAAL_INSTANCE_NAME 1 140 # define GRAAL_FIGURE_CONNECTOR_NAME 2 141 # define GRAAL_INSTANCE_CONNECTOR_NAME 3 142 # define GRAAL_FIGURE_SEGMENT_NAME 4 143 # define GRAAL_INSTANCE_SEGMENT_NAME 5 144 # define GRAAL_FIGURE_REFERENCE_NAME 6 145 # define GRAAL_INSTANCE_REFERENCE_NAME 7 146 147 # define GRAAL_MAX_ACTIVE_NAME 8 148 149 /*------------------------------------------------------------\ 150 | | 151 | Fill Mode | 152 | | 153 \------------------------------------------------------------*/ 154 155 # define GRAAL_FILL_MODE_OUTLINE 0 156 # define GRAAL_FILL_MODE_FILL 1 157 # define GRAAL_FILL_MODE_PATTERN 2 158 159 /*------------------------------------------------------------\ 160 | | 161 | Types | 162 | | 163 \------------------------------------------------------------*/ 164 /*------------------------------------------------------------\ 165 | | 166 | Variables | 167 | | 168 \------------------------------------------------------------*/ 169 170 extern char *GRAAL_SEGMENT_NAME_TABLE[ MBK_MAX_LAYER ][ 3 ]; 171 extern char *GRAAL_TRANSISTOR_NAME_TABLE[ MBK_MAX_LAYER ][ 3 ]; 172 extern char *GRAAL_CONNECTOR_NAME_TABLE[ MBK_MAX_LAYER ][ 3 ]; 173 extern float GRAAL_SEGMENT_VALUE_TABLE[ MBK_MAX_LAYER ][ 2 ]; 174 extern char *GRAAL_VIA_NAME_TABLE[ MBK_MAX_VIA ][ 3 ]; 175 extern char *GRAAL_BIGVIA_NAME_TABLE[ MBK_MAX_VIA ][ 3 ]; 176 extern float GRAAL_BIGVIA_VALUE_TABLE[ MBK_MAX_LAYER ][ 1 ]; 177 extern char *GRAAL_REFERENCE_NAME_TABLE[ MBK_MAX_REFERENCE ][ 3 ]; 178 extern char *GRAAL_ORIENT_NAME_TABLE[ MBK_MAX_ORIENT ][ 3 ]; 179 extern char *GRAAL_SYMMETRY_NAME_TABLE[ MBK_MAX_SYMMETRY ][ 3 ]; 180 extern char *GRAAL_RDS_LAYER_NAME_TABLE[ RDS_ALL_LAYER ][ 3 ]; 181 extern int GRAAL_RDS_LAYER_PATTERN_TABLE[ RDS_ALL_LAYER ]; 182 extern long GRAAL_PEEK_BOUND; 183 extern char *GRAAL_CURSOR_COLOR_NAME; 184 extern long GRAAL_CURSOR_SIZE; 185 extern float GRAAL_LOWER_GRID_STEP; 186 extern float GRAAL_LOWER_FIGURE_STEP; 187 extern float GRAAL_LOWER_INSTANCE_STEP; 188 extern float GRAAL_LOWER_REFERENCE_STEP; 189 extern float GRAAL_LOWER_SEGMENT_STEP; 190 extern float GRAAL_LOWER_CONNECTOR_STEP; 191 extern long GRAAL_RDS_LAMBDA; 192 extern float GRAAL_SCALE_X; 193 extern long GRAAL_SCALE; 194 extern char GRAAL_XOR_CURSOR; 195 196 extern char GRAAL_INSTANCE_INTERFACE; 197 extern char GRAAL_FILL_MODE; 198 extern char GRAAL_CONNECTOR_INDEX; 199 extern char GRAAL_FORCE_DISPLAY; 200 extern char GRAAL_BLACK_BOX_STRING; 201 extern char GRAAL_SWITCH_COLOR_MAP; 202 203 extern char GRAAL_RDS_ACTIVE_LAYER_TABLE[ RDS_ALL_LAYER ]; 204 extern char GRAAL_RDS_ACTIVE_NAME_TABLE[ GRAAL_MAX_ACTIVE_NAME ]; 205 extern long *GRAAL_CUT_C_X_ARRAY [ MBK_MAX_LAYER ]; 206 extern char GRAAL_CUT_C_X_LIST[ MBK_MAX_VIA ]; 207 208 extern char *GRAAL_TECHNO_NAME; 209 extern char *GRAAL_GMS_FILE_NAME; 210 211 /*------------------------------------------------------------\ 212 | | 213 | Functions | 214 | | 215 \------------------------------------------------------------*/ 216 217 extern char *GraalPostTreatString(); 218 extern void GraalLoadParameters(); 219 extern void GraalViewParameters(); 220 extern void GraalInitializeCutCxTable(); 221 extern void Graalenv(); 222 223 # endif 224