1 /*
2  * styles.h --
3  *
4  * Definitions of styles used for system purposes.
5  *
6  *     *********************************************************************
7  *     * Copyright (C) 1985, 1990 Regents of the University of California. *
8  *     * Permission to use, copy, modify, and distribute this              *
9  *     * software and its documentation for any purpose and without        *
10  *     * fee is hereby granted, provided that the above copyright          *
11  *     * notice appear in all copies.  The University of California        *
12  *     * makes no representations about the suitability of this            *
13  *     * software for any purpose.  It is provided "as is" without         *
14  *     * express or implied warranty.  Export of this software outside     *
15  *     * of the United States of America may require an export license.    *
16  *     *********************************************************************
17  *
18  * rcsid:  $Header: /usr/cvsroot/magic-8.0/utils/styles.h,v 1.2 2008/12/11 04:20:14 tim Exp $
19  */
20 
21 #ifndef _STYLES_H
22 #define _STYLES_H 1
23 
24 /* Styles are divided into three parts: 1) system styles, used for
25  * purposes such as drawing and erasing tools, window borders, etc.,
26  * 2) Styles used to draw the layout, and 3) "Pale" styles duplicating
27  * all entries in (2) for drawing areas of the layout not currently
28  * begin edited.
29  *
30  * The system styles are predefined, so they can be accessed from the
31  * source code by preprocessor macros.
32  *
33  * STYLE_SOLIDHIGHLIGHTS:    used to draw solid highlight areas.
34  * STYLE_MEDIUMHIGHLIGHTS:   used to draw highlights in a medium-weight stipple.
35  * STYLE_PALEHIGHLIGHTS:     used to draw highlights in a pale stipple.
36  * STYLE_HORIZHIGLIGHTS:     used to draw highlights with horizontal lines.
37  * STYLE_VERTHIGLIGHTS:      used to draw highlights with vertical lines.
38  * STYLE_OUTLINEHIGHLIGHTS:  used to draw highlights as solid box outlines.
39  * STYLE_DOTTEDHIGLIGHTS:    used to draw highlights with dotted box outlines.
40  * STYLE_ERASEBOX:	     used to erase the box from the screen.
41  * STYLE_ERASEHIGHLIGHTS:    used to erase all highlights from an area.
42  * STYLE_ERASEALL:	     used to erase all information from the screen.
43  * STYLE_ERASEALLBUTTOOLS:   used to erase everything but the tools.
44  * STYLE_LABEL:		     used to draw labels.
45  * STYLE_PORT:		     used to draw ports.
46  * STYLE_PORT_CONNECT:	     used to draw the connecting boundary on ports.
47  * STYLE_BBOX:		     used to draw cell bounding boxes and names.
48  * STYLE_GRID:		     used to draw grid on the screen (dotted lines).
49  * STYLE_SOLIDGRID:	     an alternate grid, drawn with solid lines.
50  * STYLE_ORIGIN:	     used to display a box at origin of edit cell.
51  * STYLE_DRAWTILE:	     used to draw tiles for *watch command.
52  * STYLE_BORDER:	     used to draw borders around windows.
53  * STYLE_ELEVATOR	     used by the window package to draw the elevator
54  *			     (slug) in the scroll bars.
55  * STYLE_CAPTION:	     used to draw window captions.
56  * STYLE_BACKGROUND:	     used to draw the areas outside of windows.
57  * STYLE_CMEDIT		     used to display the color being edited by the
58  *			     colormap editor.
59  * STYLE_WHITE, etc.	     used to generate common colors, for use in
60  *			     menus.  Most colors have several styles,
61  *			     corresponding to different saturation levels.
62  *			     These colors are numbered where 1 corresponds
63  *			     to a very pale color and a large number is used
64  *			     for a highly saturated (rich) color.  Unnumbered
65  *			     colors correspond to the most saturated ones.
66  *
67  * If any of the style numbers below are changed, all of the display styles
68  * files must be modified so that they agree.
69  */
70 
71 /* Transparency */
72 
73 #define STYLE_TRANSPARENT	0
74 
75 /* Styles for drawing and erasing highlights: */
76 
77 #define STYLE_SOLIDHIGHLIGHTS	1
78 #define STYLE_MEDIUMHIGHLIGHTS	2
79 #define STYLE_PALEHIGHLIGHTS	3
80 #define STYLE_HORIZHIGHLIGHTS	4
81 #define STYLE_VERTHIGHLIGHTS	5
82 #define STYLE_OUTLINEHIGHLIGHTS	6
83 #define STYLE_DOTTEDHIGHLIGHTS	7
84 #define	STYLE_ERASEBOX		8
85 #define STYLE_ERASEHIGHLIGHTS	9
86 #define	STYLE_ERASEALL		10
87 #define	STYLE_ERASEALLBUTTOOLS	11
88 
89 /* Other miscellaneous styles */
90 
91 #define	STYLE_LABEL		12
92 #define	STYLE_PORT		13
93 #define	STYLE_PORT_CONNECT	14
94 #define	STYLE_BBOX		15
95 #define	STYLE_GRID		16
96 #define	STYLE_SOLIDGRID		17
97 #define STYLE_ORIGIN		18
98 #define	STYLE_DRAWTILE		19
99 #define	STYLE_BORDER		20
100 #define STYLE_ELEVATOR		21
101 #define	STYLE_CAPTION		22
102 #define	STYLE_BACKGROUND	23
103 #define STYLE_CMEDIT		24
104 
105 /* Colors used by Tcl/Tk */
106 
107 #define TK_MEDIUM_GRAY		25
108 #define TK_LIGHT_GRAY		26
109 
110 #define	STYLE_LABEL_PALE	27
111 #define	STYLE_PORT_PALE		28
112 
113 /* Assortment of solid colors */
114 
115 #define	STYLE_WHITE		29
116 #define STYLE_GRAY1		30
117 #define STYLE_GRAY2		31
118 #define STYLE_GRAY		31
119 #define STYLE_BLACK		32
120 #define STYLE_RED1		33
121 #define STYLE_PINK		33
122 #define STYLE_RED2		34
123 #define STYLE_RED3		35
124 #define	STYLE_RED		35
125 #define STYLE_GREEN1		36
126 #define STYLE_GREEN2		37
127 #define STYLE_GREEN3		38
128 #define	STYLE_GREEN		38
129 #define STYLE_BLUE1		39
130 #define STYLE_BLUE2		40
131 #define STYLE_BLUE3		41
132 #define	STYLE_BLUE		41
133 #define STYLE_PURPLE1		42
134 #define STYLE_PURPLE2		43
135 #define STYLE_PURPLE		43
136 #define STYLE_YELLOW1		44
137 #define STYLE_YELLOW2		45
138 #define STYLE_YELLOW		45
139 #define STYLE_ORANGE1		46
140 #define STYLE_ORANGE2		47
141 #define STYLE_ORANGE		47
142 #define STYLE_BROWN1		48
143 #define STYLE_BROWN2		49
144 #define STYLE_BROWN		49
145 #define STYLE_MAGENTA		50
146 #define STYLE_CYAN		51
147 
148 /* Mark the number after all the built-in styles as the	*/
149 /* beginning of the styles used by the technology files	*/
150 
151 #define TECHBEGINSTYLES		52
152 
153 
154 /*
155  * Here are the cursors defined in the standard styles file.
156  *
157  */
158 
159 /* misc patterns */
160 #define	STYLE_CURS_NORMAL	0
161 #define	STYLE_CURS_STAR		1
162 
163 /* corners */
164 #define	STYLE_CURS_LLCORNER	2
165 #define	STYLE_CURS_LRCORNER	3
166 #define	STYLE_CURS_ULCORNER	4
167 #define	STYLE_CURS_URCORNER	5
168 
169 /* boxes */
170 #define	STYLE_CURS_LLBOX	6
171 #define	STYLE_CURS_LRBOX	7
172 #define	STYLE_CURS_ULBOX	8
173 #define	STYLE_CURS_URBOX	9
174 
175 /* entire windows */
176 #define	STYLE_CURS_LLWIND	10
177 #define	STYLE_CURS_LRWIND	11
178 #define	STYLE_CURS_ULWIND	12
179 #define	STYLE_CURS_URWIND	13
180 
181 /* corners of windows */
182 #define	STYLE_CURS_LLWINDCORN	14
183 #define	STYLE_CURS_LRWINDCORN	15
184 #define	STYLE_CURS_ULWINDCORN	16
185 #define	STYLE_CURS_URWINDCORN	17
186 
187 /* netlist editing icon */
188 #define STYLE_CURS_NET		18
189 
190 /* wiring icon */
191 #define STYLE_CURS_ARROW	19
192 
193 /* irouting icon */
194 #define STYLE_CURS_IROUTE	20
195 
196 /* rsim icon */
197 #define STYLE_CURS_RSIM		21
198 
199 /* pick icon */
200 #define STYLE_CURS_PICK		22
201 
202 #endif /* _STYLES_H */
203