#
#		      Magic distribution Version 7.3
#
# This file has been updated for 10-metal processes
#
# (C) Copyright 2001-2008 by
#	R. Timothy Edwards
#	MultiGiG, Inc., Scotts Valley, CA
#
# Last Modified Date: 12/03/03
#
# This file describes the various display styles that are available
# in Magic.  Each display style describes a particular way of drawing
# things on the display.  See "Magic Maintainer's Manual #3: The
# Display Style and Glyph Files" for details on the file format.
# The "version" keyword replaces the version embedded in the filename.
# Please send bug reports/comments to tim@opencircuitdesign.com

version 8
# 
# There is no bit plane usage in OpenGL.
# The "mask" column used by other style files represents
# the degree of opacity in the OpenGL version of magic.
# opaque = 0 is completely transparent (nothing gets drawn),
# while opaque = 120 is completely opaque.  Note that these
# numbers are decimal (vs. octal in version 6 and earlier).
# The bit planes argument of the display_styles is set to 24
# so we don't lose any bits in color definitions.

display_styles 24
#
# The style below means "no color at all".  It is special, in that
# it is used by cursors to indicate transparency.
#
# num   opaque  color   outline  fill  number   name    name
# ----+------+--------+--------+------+-------+------+--------------
0	0	0	0x00	solid	0	.	no_color_at_all
#
# Opaque styles used for drawing and erasing highlights, window borders,
# etc.
#				       stipple  short   long
# num   opaque  color   outline  fill  number   name    name
# ----+------+--------+--------+------+-------+------+--------------
1	127	64	0x00	solid	0	-	solid_highlights
2	92	64	0x00	stipple 12	-	medium_highlights
3	92	64	0x00	stipple 9	-	pale_highlights
4	92	64	0x00	stipple 10	-	horiz_highlights
5	92	64	0x00	stipple 11	-	vert_highlights
6	127	64	0xff	outline	0	-	outline_highlights
7	92	64	0xcc	outline 0	-	dotted_highlights
#
8	92	0	0xff	outline	0	e	erase_box
9	127	0	0x00	solid	0	-	erase_highlights
10	127	0	0x00	solid	0	E	erase_everything
11	92	0	0x00	solid	0	-	erase_all_but_highl
#
12	92	59	0xff	outline	0	l	labels
13	92	45	0xff	outline	0	L	ports
14	127	54	0xff	outline	0	i	port_connections
15	92	35	0xff	outline	0	-	bounding_boxes
16	92	60	0xff	grid	0	-	solid_grid
17	92	35	0xaa	grid	0	-	dotted_grid
18	92	35	0x00	solid	0	-	origin_square
19	92	35	0xff	outline	0	-	draw_tile_details
#
20	127	55	0x00	solid	0	w	window_border
21	127	55	0xff	stipple	6	-	window_elevator
22	127	56	0x00	solid	0	c	window_caption
23	127	57	0x00	solid	0	x	window_background
#
24	127	58	0x00	solid	0	-	color_editing
#
25	127	60	0x00	solid	0	T	tk_medium_gray
26	127	62	0x00	solid	0	t	tk_light_gray
#
27	127	47	0xff	outline	0	-	pale_labels
28	127	80	0xff	outline	0	-	pale_ports
#
# General-purpose opaque colors.  These entries define a whole
# bunch of generally-useful colors.
#
#				       stipple  short    long
# num   opaque  color   outline  fill  number   name     name
# ----+------+--------+--------+------+-------+------+--------------
29	127	32	0x00	solid	0	W	white
30	127	33	0x00	solid	0	-	gray1 (pale)
31	127	34	0x00	solid	0	k	gray2 (dark)
32	127	35	0x00	solid	0	K	black
33	127	36	0x00	solid	0	r	red1 (pale)
34	127	37	0x00	solid	0	-	red2 (medium)
35	127	38	0x00	solid	0	R	red3 (dark)
36	127	39	0x00	solid	0	g	green1 (pale)
37	127	40	0x00	solid	0	-	green2 (medium)
38	127	41	0x00	solid	0	G	green3 (dark)
39	127	42	0x00	solid	0	b	blue1
40	127	43	0x00	solid	0	B	blue2 (dark)
41	127	44	0x00	solid	0	-	blue3
42	127	45	0x00	solid	0	p	purple1
43	127	46	0x00	solid	0	P	purple2
44	127	47	0x00	solid	0	y	yellow1
45	127	48	0x00	solid	0	Y	yellow2
46	127	49	0x00	solid	0	o	orange1
47	127	50	0x00	solid	0	O	orange2
48	127	51	0x00	solid	0	n	brown1
49	127	52	0x00	solid	0	N	brown2
50	127	53	0x00	solid	0	m	magenta
51	127	54	0x00	solid	0	C	cyan
#
#----------------------------------------------------------------------
# All of the styles above this point are used internally by Magic for
# things like menus, drawing the box, etc.  The style numbers and
# number of styles must match the definitions in misc/style.h. 
# All of the styles below this point are used by the technology file,
# addressed by name or number.  Note that the numbers are only for
# backwards compatibility with .tech27 files which specify styles
# by number only.  The order in which styles are drawn is the order
# in which they appear in this file, not the "num" column.  The
# ordinal numbering reflects vagaries of the 8-bit-plane setup.
# 24-bit styles have been re-ordered to match the physical vertical
# position of layers in the layout.
#----------------------------------------------------------------------

layout_styles
#
# num   opaque  color   outline  fill  number   name     name
#----------------------------------------------------------------------
10	63	6	0x00	stipple 7	-	cwell
52	92	2	0x00	stipple 19	-	cwellnsc
79	63	4	0x00	stipple 21	-       highvolt_nwell
80	63	5	0x00	stipple 22	-	highvolt_pwell
12	63	2	0xff	stipple	2	-	nwell
13	63	3	0xff	stipple	2	-	pwell
67	120	9	0xff	outline 0	-	subcircuit
1	120	1	0x00	solid	0	-	polysilicon
87	92	50	0x00	solid	0	-	poly_light 
88	63	1	0x00	stipple	1	-	obspoly
2	120	2	0x00	solid	0	-	ndiffusion
69	127	40	0x00	solid	0	-	mvndiff
70	127	41	0x00	solid	0	-	hvndiff
71	127	44	0x00	solid	0	-	ncontact
3	120	2	0x00	stipple	13	-	ndiff_in_nwell
11	63	5	0x00	stipple 22	-	hvndiff_mask
4	120	3	0x00	solid	0	-	pdiffusion
72	127	51	0x00	solid	0	-	mvpdiff
73	127	52	0x00	solid	0	-	hvpdiff
74	127	45	0x00	solid	0	-	pcontact
5	120	3	0x00	stipple 13	-	pdiff_in_pwell
18	63	4	0x00	stipple 21	-       hvpdiff_mask
6	120	4	0x00	solid	0	-	ntransistor
7	120	2	0x00	stipple 8	-       ntransistor_stripes
8	120	5	0x00	solid	0	-	ptransistor
9	120	3	0x00	stipple 9	-       ptransistor_stripes
83	20	51	0x00	solid	0	-	implant1
84	20	48	0x00	solid	0	-	implant2
85	30	38	0x00	solid	0	-	implant3
86	30	32	0x00	solid	0	-	implant4
53      92	7	0x00	stipple 7       -       nwell_field_implant
54      92	7	0x00	stipple 5       -       substrate_field_implant
30	92	2	0x00	stipple 22	-	ndop_stripes
31	92	3	0x00	stipple 21	-	pdop_stripes
36	92	2	0xff	stipple 15	-	nselect
35	92	3	0xff	stipple 1	-	pselect
43      92	2	0x00	stipple 5       -       nselect2
44      92	3	0x00	stipple 7       -       pselect2
47      92	78	0x00	solid   0       -       poly_resist
48      92	3	0x00	stipple 7       -       poly_resist_stripes    
46      92	42	0x00	stipple 7       -       silicide_block
14	92	6	0x00	solid	0	-	electrode
27	92	3	0x00	stipple	9	-	electrode_stripes
28	92	61	0x00	solid	0	-	capacitor
15	92	3	0x00	stipple	10	-	pbase
16	92	2	0x00	stipple 17	-	emitter
17	92	3	0x00	stipple 11	-	bccd
20	80	8	0x00	solid	0	-	metal1
29	92	8	0x00	stipple	6	-	metal1_alt
49	92	8	0x00	stipple 19	-	metal1tight
89	63	8	0x00	stipple	1	-	obsmetal1
26	92	9	0x00	solid	0	-	poly_contact
21	80	16	0x00	solid	0	-	metal2
50	92	16	0x00	stipple 19	-	metal2tight
90	63	16	0x00	stipple	1	-	obsmetal2
19	92	7	0x00	solid	0	-	via
55     120	43	0xff	stipple	35	-	via1arrow
81     120	43	0xff	stipple	2	-	via1
22	80	53	0x00	solid   0	-	metal3
51	92	53	0x00	stipple	8	-	metal3tight
91	63	53	0x00	stipple	1	-	obsmetal3
37	92	46	0xff	stipple 19	-	via2
56     120	46	0xff	stipple	36	-	via2arrow
82     120	46	0xff	stipple	2	-	via2alt
23	80	33	0x00	solid  	0	-	metal4
92	63	33	0x00	stipple	1	-	obsmetal4
38	92	38	0xff	stipple	24	-	via3
57	92	6	0x00	stipple	2	-	via3alt
24	80	44	0x00	solid  	0	-	metal5
93	63	44	0x00	stipple	1	-	obsmetal5
39	92	41	0xff	stipple	26	-	via4
64	80	46	0x00	solid	0	-	metal6
94	63	46	0x00	stipple	1	-	obsmetal6
59	92	74	0xff	stipple 2	-	via5
65	80	38	0x00	solid	0	-	metal7
95	63	38	0x00	stipple	1	-	obsmetal7
60	92	46	0xff	stipple 28	-	via6
66	80	34	0x00	solid	0	-	metal8
96	63	34	0x00	stipple	1	-	obsmetal8
61	92	9	0xff	stipple 29	-	via7
75	80	74	0x00	solid	0	-	metal9
97	63	74	0x00	stipple	1	-	obsmetal9
76	92	40	0xff	stipple	30	-	via8
77	80	75	0x00	solid	0	-	metal10
98	63	75	0x00	stipple	1	-	obsmetal10
78	92	7	0xff	stipple 31	-	via9
62	92	38	0x00	stipple	3	-	mim_bottom
63	92	34	0x00	stipple	3	-	mim_top
58	92	7	0x00	solid	0	-	gen_contact
32	92	7	0xff	cross	0	-	contact_X'es
33	92	7	0xff	stipple 2	-	contact_waffle
25	92	37	0x00	solid	0	-	pad4
34	92	34	0xff	stipple 10	-	overglass
68	92	33	0xff	solid	0	-	mems
40	92	53	0x00	stipple 5	-	check_paint
41	92	54	0x00	stipple 7	-	check_subcells
42	127	32	0x00	stipple 4	-	error_waffle
45      92	35	0x00	solid   0       -       comment
#
#----------------------------------------------------------------------
# All of the styles below this point must duplicate the styles in
# the section above, and represent a version of each previous
# layer to use in non-edit cells ("pale" styles):
#----------------------------------------------------------------------

pale_styles
#
# Poly-diff styles:
#				       stipple  short    long
# num   opaque  color   outline  fill  number   name     name
#----------------------------------------------------------------------
10	92	70	0x00	stipple 7	-	cwell
52	92	2	0x00	stipple 13	-	cwellnsc
79	92	71	0x00	stipple 21	-       highvolt_nwell
80	92	69	0x00	stipple 22	-	highvolt_pwell
12	92	66	0xff	stipple 2	-	nwell
13	92	67	0xff	stipple	2	-	pwell
67	92	73	0xff	outline 0	-	subcircuit
1	92	65	0x00	solid	0	-	polysilicon
87	92	49	0x00	solid	0	-	poly_light 
88	92	65	0x00	stipple	1	-	obspoly
2	92	66	0x00	solid	0	-	ndiffusion
69	127	40	0x00	stipple	3	-	mvndiff
70	127	41	0x00	stipple	3	-	hvndiff
71	127	45	0x00	stipple	3	-	ncontact
3	92	66	0x00	stipple	13	-	ndiff_in_nwell
11	92	69	0x00	stipple 22	-	hvndiff_mask
4	92	67	0x00	solid	0	-	pdiffusion
72	127	51	0x00	stipple	25	-	mvpdiff
73	127	52	0x00	stipple	25	-	hvpdiff
74	127	44	0x00	stipple	25	-	pcontact
5	92	67	0x00	stipple	13	-	pdiff_in_pwell
18	92	71	0x00	stipple 21	-       hnpdiff_mask
6	92	68	0x00	solid	0	-	ntransistor
7	92	66	0x00	stipple	7	-	ntransistor_stripes
8	92	69	0x00	solid	0	-	ptransistor
9	92	67	0x00	stipple 5	-	ptransistor_stripes
83	10	51	0x00	solid	0	-	implant1
84	10	48	0x00	solid	0	-	implant2
85	15	38	0x00	solid	0	-	implant3
86	15	32	0x00	solid	0	-	implant4
53	92	7	0x00	stipple 7       -       nwell_field_implant
54	92	7	0x00	stipple 5       -       substrate_field_implant
30	92	66	0x00	stipple 22	-	ndop_stripes
31	92	67	0x00	stipple 21	-	pdop_stripes
36	92	66	0xff	stipple 15	-	nselect
35	92	67	0xff	stipple 1	-	pselect
43	92	2	0x00	stipple 5       -       nselect2
44	92	3	0x00	stipple 7       -       pselect2
47	92	142	0x00	solid   0       -       poly_resist
48	92	67	0x00	stipple 7       -       poly_resist_stripes
46	92	42	0x00	stipple 7       -       silicide_block
14	92	70	0x00	solid	0	-	electrode
27	92	67	0x00	stipple	9	-	electrode_stripes
28	92	125	0x00	solid	0	-	capacitor
15	92	67	0x00	stipple 10	-	pbase
16	92	66	0x00	stipple 17	-	emitter
17	92	67	0x00	stipple 11	-	bccd
20	64	72	0x00	solid	0	-	metal1
29	92	72	0x00	stipple	6	-	metal1_alt
49	92	8	0x00	stipple 14	-	metal1tight
89	92	72	0x00	stipple	1	-	obsmetal1
26	92	73	0x00	solid	0	-	poly_contact
21	64	80	0x00	solid	0	-	metal2
50	92	16	0x00	stipple 5	-	metal2tight
90	92	80	0x00	stipple	1	-	obsmetal2
19	92	71	0x00	solid	0	-	via
55	92	107	0xff	stipple	35	-	via1arrow
81	92	107	0xff	stipple	2	-	via1
22	64	117	0x00	solid	0	-	metal3
51	92	53	0x00	stipple	21	-	metal3tight
91	92	117	0x00	stipple	1	-	obsmetal3
37	92	110	0xff	stipple 19	-	via2
56	92	117	0xff	stipple	36	-	via2arrow
82	92	117	0xff	stipple	2	-	via2alt
23	64	97	0x00	solid	0	-	metal4
92	92	97	0x00	stipple	1	-	obsmetal4
38	92	102	0xff	stipple 24	-	via3
57	92	70	0x00	stipple	2	-	via3alt
24	64	108	0x00	solid	0	-	metal5
93	92	108	0x00	stipple	1	-	obsmetal5
39	92	105	0xff	stipple 26	-	via4
64	64	110	0x00	solid	0	-	metal6
94	92	110	0x00	stipple	1	-	obsmetal6
59	92	80	0xff	stipple 2	-	via5
65	64	102	0x00	solid	0	-	metal7
95	92	102	0x00	stipple	1	-	obsmetal7
60	92	110	0xff	stipple 28	-	via6
66	64	98	0x00	solid	0	-	metal8
96	92	98	0x00	stipple	1	-	obsmetal8
61	92	110	0xff	stipple 29	-	via7
75	64	76	0x00	solid	0	-	metal9
97	92	76	0x00	stipple	1	-	obsmetal9
76	92	33	0xff	stipple	30	-	via8
77	64	77	0x00	solid	0	-	metal10
98	92	77	0x00	stipple	1	-	obsmetal10
78	92	34	0xff	stipple 31	-	via9
62	92	102	0x00	stipple	3	-	mim_bottom
63	92	98	0x00	stipple	3	-	mim_top
58	92	34	0x00	solid	0	-	gen_contact
32	92	99	0xff	cross	0	-	contact_X'es
33	92	99	0xff	stipple 2	-	contact_waffle
25	92	101	0x00	solid	0	-	pad4
34	92	98	0xff	stipple 10	-	overglass
68	92	97	0xff	solid	0	-	mems
40	92	53	0x00	stipple 5	-	check_paint
41	92	54	0x00	stipple 7	-	check_subcells
42	127	32	0x00	stipple 4	-	error_waffle
45	92	15	0x00	solid   0       -       comment
#----------------------------------------------------------------------

stipples
#-------------------------------------------------------------------------
#  hex bit pattern (8x8)	description
#-------------------------------------------------------------------------
1  40 00 18 00 18 00 00 00	very sparsed stripes, ll to ur
2  cc cc 00 00 33 33 00 00	coarse knight's move (waffle)
3  ee 77 bb dd ee 77 bb dd	all but diagonal stripes, ll to ur
4  00 00 cc cc 00 00 cc cc	offset waffle
5  40 20 10 08 04 02 01 80	sparse diagonal stripes, ll to ur
6  aa 55 aa 55 aa 55 aa 55	half 'n half (checkerboard)
7  02 04 08 10 20 40 80 01	sparse diagonal stripes, lr to ul
8  81 03 06 0c 18 30 60 c0	wide sparse diagonal stripes, lr to ul
9  81 c0 60 30 18 0c 06 03	wide sparse diagonal stripes, ll to ur
10 00 00 00 ff 00 00 00 ff	horizontal stripes
11 44 44 44 44 44 44 44 44	vertical stripes
12 55 aa 55 aa 55 aa 55 aa	complement of half `n half
13 33 33 ff ff cc cc ff ff	complement of #2 (coarse knight's move)
14 aa 55 aa 55 aa 55 aa 55	half 'n half (checkerboard)
15 00 01 00 18 00 00 00 18	very sparsed stripes, 11 to ur
16 c0 07 ff ff c0 07 ff ff	wide horizontal stripes
17 c7 c7 c7 c7 c7 c7 c7 c7	wide vertical stripes
18 7c 7c 7c 7c 7c 7c 7c 7c	wide vertical stripes (reverse of 17)
19 3c c3 42 42 c3 3c 24 24	bubbles
20 24 42 81 81 42 24 18 18	offset diagonal crossex
21 10 20 00 00 00 02 04 08	diagonal dotted line, lr to ul
22 08 04 00 00 00 40 20 10      diagonal dotted line, ll to ur
23 3c 66 c3 81 c3 66 3c 18	dense diagonal crossex
24 c3 3c bd bd 3c c3 db db      complement of #19 empty bubbles
25 dd bb 77 ee dd bb 77 ee	all but diagonal stripes, lr to ul
26 e2 4e 52 29 94 e4 8e 11	T pattern
27 71 47 41 00 42 72 47 99	sparse offset T pattern
28 99 3c 7e e7 e7 7e 3c 99	alternating diamonds
29 44 88 55 22 44 88 55 22	bricks, ll to ur
30 30 60 c0 c1 63 36 1c 18	bricks, lr to ul 
31 55 db 22 db 55 db 22 db	linoleum
32 60 c0 81 03 06 0c 18 30
33 00 00 00 30 60 60 30 00	new gc thin
34 00 02 06 0e 0e 06 02 00
35 00 7e 3c 18 00 e7 c3 81	arrows pointing up
36 e0 62 26 0e 0e 26 62 e0	arrows pointing left
