/
Pens.cs
324 lines (301 loc) · 21.2 KB
/
Pens.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using Gdip = System.Drawing.SafeNativeMethods.Gdip;
namespace System.Drawing
{
public static class Pens
{
private static readonly object s_transparentKey = new object();
private static readonly object s_aliceBlueKey = new object();
private static readonly object s_antiqueWhiteKey = new object();
private static readonly object s_aquaKey = new object();
private static readonly object s_aquamarineKey = new object();
private static readonly object s_azureKey = new object();
private static readonly object s_beigeKey = new object();
private static readonly object s_bisqueKey = new object();
private static readonly object s_blackKey = new object();
private static readonly object s_blanchedAlmondKey = new object();
private static readonly object s_blueKey = new object();
private static readonly object s_blueVioletKey = new object();
private static readonly object s_brownKey = new object();
private static readonly object s_burlyWoodKey = new object();
private static readonly object s_cadetBlueKey = new object();
private static readonly object s_chartreuseKey = new object();
private static readonly object s_chocolateKey = new object();
private static readonly object s_coralKey = new object();
private static readonly object s_cornflowerBlueKey = new object();
private static readonly object s_cornsilkKey = new object();
private static readonly object s_crimsonKey = new object();
private static readonly object s_cyanKey = new object();
private static readonly object s_darkBlueKey = new object();
private static readonly object s_darkCyanKey = new object();
private static readonly object s_darkGoldenrodKey = new object();
private static readonly object s_darkGrayKey = new object();
private static readonly object s_darkGreenKey = new object();
private static readonly object s_darkKhakiKey = new object();
private static readonly object s_darkMagentaKey = new object();
private static readonly object s_darkOliveGreenKey = new object();
private static readonly object s_darkOrangeKey = new object();
private static readonly object s_darkOrchidKey = new object();
private static readonly object s_darkRedKey = new object();
private static readonly object s_darkSalmonKey = new object();
private static readonly object s_darkSeaGreenKey = new object();
private static readonly object s_darkSlateBlueKey = new object();
private static readonly object s_darkSlateGrayKey = new object();
private static readonly object s_darkTurquoiseKey = new object();
private static readonly object s_darkVioletKey = new object();
private static readonly object s_deepPinkKey = new object();
private static readonly object s_deepSkyBlueKey = new object();
private static readonly object s_dimGrayKey = new object();
private static readonly object s_dodgerBlueKey = new object();
private static readonly object s_firebrickKey = new object();
private static readonly object s_floralWhiteKey = new object();
private static readonly object s_forestGreenKey = new object();
private static readonly object s_fuchsiaKey = new object();
private static readonly object s_gainsboroKey = new object();
private static readonly object s_ghostWhiteKey = new object();
private static readonly object s_goldKey = new object();
private static readonly object s_goldenrodKey = new object();
private static readonly object s_grayKey = new object();
private static readonly object s_greenKey = new object();
private static readonly object s_greenYellowKey = new object();
private static readonly object s_honeydewKey = new object();
private static readonly object s_hotPinkKey = new object();
private static readonly object s_indianRedKey = new object();
private static readonly object s_indigoKey = new object();
private static readonly object s_ivoryKey = new object();
private static readonly object s_khakiKey = new object();
private static readonly object s_lavenderKey = new object();
private static readonly object s_lavenderBlushKey = new object();
private static readonly object s_lawnGreenKey = new object();
private static readonly object s_lemonChiffonKey = new object();
private static readonly object s_lightBlueKey = new object();
private static readonly object s_lightCoralKey = new object();
private static readonly object s_lightCyanKey = new object();
private static readonly object s_lightGoldenrodYellowKey = new object();
private static readonly object s_lightGreenKey = new object();
private static readonly object s_lightGrayKey = new object();
private static readonly object s_lightPinkKey = new object();
private static readonly object s_lightSalmonKey = new object();
private static readonly object s_lightSeaGreenKey = new object();
private static readonly object s_lightSkyBlueKey = new object();
private static readonly object s_lightSlateGrayKey = new object();
private static readonly object s_lightSteelBlueKey = new object();
private static readonly object s_lightYellowKey = new object();
private static readonly object s_limeKey = new object();
private static readonly object s_limeGreenKey = new object();
private static readonly object s_linenKey = new object();
private static readonly object s_magentaKey = new object();
private static readonly object s_maroonKey = new object();
private static readonly object s_mediumAquamarineKey = new object();
private static readonly object s_mediumBlueKey = new object();
private static readonly object s_mediumOrchidKey = new object();
private static readonly object s_mediumPurpleKey = new object();
private static readonly object s_mediumSeaGreenKey = new object();
private static readonly object s_mediumSlateBlueKey = new object();
private static readonly object s_mediumSpringGreenKey = new object();
private static readonly object s_mediumTurquoiseKey = new object();
private static readonly object s_mediumVioletRedKey = new object();
private static readonly object s_midnightBlueKey = new object();
private static readonly object s_mintCreamKey = new object();
private static readonly object s_mistyRoseKey = new object();
private static readonly object s_moccasinKey = new object();
private static readonly object s_navajoWhiteKey = new object();
private static readonly object s_navyKey = new object();
private static readonly object s_oldLaceKey = new object();
private static readonly object s_oliveKey = new object();
private static readonly object s_oliveDrabKey = new object();
private static readonly object s_orangeKey = new object();
private static readonly object s_orangeRedKey = new object();
private static readonly object s_orchidKey = new object();
private static readonly object s_paleGoldenrodKey = new object();
private static readonly object s_paleGreenKey = new object();
private static readonly object s_paleTurquoiseKey = new object();
private static readonly object s_paleVioletRedKey = new object();
private static readonly object s_papayaWhipKey = new object();
private static readonly object s_peachPuffKey = new object();
private static readonly object s_peruKey = new object();
private static readonly object s_pinkKey = new object();
private static readonly object s_plumKey = new object();
private static readonly object s_powderBlueKey = new object();
private static readonly object s_purpleKey = new object();
private static readonly object s_redKey = new object();
private static readonly object s_rosyBrownKey = new object();
private static readonly object s_royalBlueKey = new object();
private static readonly object s_saddleBrownKey = new object();
private static readonly object s_salmonKey = new object();
private static readonly object s_sandyBrownKey = new object();
private static readonly object s_seaGreenKey = new object();
private static readonly object s_seaShellKey = new object();
private static readonly object s_siennaKey = new object();
private static readonly object s_silverKey = new object();
private static readonly object s_skyBlueKey = new object();
private static readonly object s_slateBlueKey = new object();
private static readonly object s_slateGrayKey = new object();
private static readonly object s_snowKey = new object();
private static readonly object s_springGreenKey = new object();
private static readonly object s_steelBlueKey = new object();
private static readonly object s_tanKey = new object();
private static readonly object s_tealKey = new object();
private static readonly object s_thistleKey = new object();
private static readonly object s_tomatoKey = new object();
private static readonly object s_turquoiseKey = new object();
private static readonly object s_violetKey = new object();
private static readonly object s_wheatKey = new object();
private static readonly object s_whiteKey = new object();
private static readonly object s_whiteSmokeKey = new object();
private static readonly object s_yellowKey = new object();
private static readonly object s_yellowGreenKey = new object();
public static Pen Transparent => GetPen(s_transparentKey, Color.Transparent);
public static Pen AliceBlue => GetPen(s_aliceBlueKey, Color.AliceBlue);
public static Pen AntiqueWhite => GetPen(s_antiqueWhiteKey, Color.AntiqueWhite);
public static Pen Aqua => GetPen(s_aquaKey, Color.Aqua);
public static Pen Aquamarine => GetPen(s_aquamarineKey, Color.Aquamarine);
public static Pen Azure => GetPen(s_azureKey, Color.Azure);
public static Pen Beige => GetPen(s_beigeKey, Color.Beige);
public static Pen Bisque => GetPen(s_bisqueKey, Color.Bisque);
public static Pen Black => GetPen(s_blackKey, Color.Black);
public static Pen BlanchedAlmond => GetPen(s_blanchedAlmondKey, Color.BlanchedAlmond);
public static Pen Blue => GetPen(s_blueKey, Color.Blue);
public static Pen BlueViolet => GetPen(s_blueVioletKey, Color.BlueViolet);
public static Pen Brown => GetPen(s_brownKey, Color.Brown);
public static Pen BurlyWood => GetPen(s_burlyWoodKey, Color.BurlyWood);
public static Pen CadetBlue => GetPen(s_cadetBlueKey, Color.CadetBlue);
public static Pen Chartreuse => GetPen(s_chartreuseKey, Color.Chartreuse);
public static Pen Chocolate => GetPen(s_chocolateKey, Color.Chocolate);
public static Pen Coral => GetPen(s_coralKey, Color.Coral);
public static Pen CornflowerBlue => GetPen(s_cornflowerBlueKey, Color.CornflowerBlue);
public static Pen Cornsilk => GetPen(s_cornsilkKey, Color.Cornsilk);
public static Pen Crimson => GetPen(s_crimsonKey, Color.Crimson);
public static Pen Cyan => GetPen(s_cyanKey, Color.Cyan);
public static Pen DarkBlue => GetPen(s_darkBlueKey, Color.DarkBlue);
public static Pen DarkCyan => GetPen(s_darkCyanKey, Color.DarkCyan);
public static Pen DarkGoldenrod => GetPen(s_darkGoldenrodKey, Color.DarkGoldenrod);
public static Pen DarkGray => GetPen(s_darkGrayKey, Color.DarkGray);
public static Pen DarkGreen => GetPen(s_darkGreenKey, Color.DarkGreen);
public static Pen DarkKhaki => GetPen(s_darkKhakiKey, Color.DarkKhaki);
public static Pen DarkMagenta => GetPen(s_darkMagentaKey, Color.DarkMagenta);
public static Pen DarkOliveGreen => GetPen(s_darkOliveGreenKey, Color.DarkOliveGreen);
public static Pen DarkOrange => GetPen(s_darkOrangeKey, Color.DarkOrange);
public static Pen DarkOrchid => GetPen(s_darkOrchidKey, Color.DarkOrchid);
public static Pen DarkRed => GetPen(s_darkRedKey, Color.DarkRed);
public static Pen DarkSalmon => GetPen(s_darkSalmonKey, Color.DarkSalmon);
public static Pen DarkSeaGreen => GetPen(s_darkSeaGreenKey, Color.DarkSeaGreen);
public static Pen DarkSlateBlue => GetPen(s_darkSlateBlueKey, Color.DarkSlateBlue);
public static Pen DarkSlateGray => GetPen(s_darkSlateGrayKey, Color.DarkSlateGray);
public static Pen DarkTurquoise => GetPen(s_darkTurquoiseKey, Color.DarkTurquoise);
public static Pen DarkViolet => GetPen(s_darkVioletKey, Color.DarkViolet);
public static Pen DeepPink => GetPen(s_deepPinkKey, Color.DeepPink);
public static Pen DeepSkyBlue => GetPen(s_deepSkyBlueKey, Color.DeepSkyBlue);
public static Pen DimGray => GetPen(s_dimGrayKey, Color.DimGray);
public static Pen DodgerBlue => GetPen(s_dodgerBlueKey, Color.DodgerBlue);
public static Pen Firebrick => GetPen(s_firebrickKey, Color.Firebrick);
public static Pen FloralWhite => GetPen(s_floralWhiteKey, Color.FloralWhite);
public static Pen ForestGreen => GetPen(s_forestGreenKey, Color.ForestGreen);
public static Pen Fuchsia => GetPen(s_fuchsiaKey, Color.Fuchsia);
public static Pen Gainsboro => GetPen(s_gainsboroKey, Color.Gainsboro);
public static Pen GhostWhite => GetPen(s_ghostWhiteKey, Color.GhostWhite);
public static Pen Gold => GetPen(s_goldKey, Color.Gold);
public static Pen Goldenrod => GetPen(s_goldenrodKey, Color.Goldenrod);
public static Pen Gray => GetPen(s_grayKey, Color.Gray);
public static Pen Green => GetPen(s_greenKey, Color.Green);
public static Pen GreenYellow => GetPen(s_greenYellowKey, Color.GreenYellow);
public static Pen Honeydew => GetPen(s_honeydewKey, Color.Honeydew);
public static Pen HotPink => GetPen(s_hotPinkKey, Color.HotPink);
public static Pen IndianRed => GetPen(s_indianRedKey, Color.IndianRed);
public static Pen Indigo => GetPen(s_indigoKey, Color.Indigo);
public static Pen Ivory => GetPen(s_ivoryKey, Color.Ivory);
public static Pen Khaki => GetPen(s_khakiKey, Color.Khaki);
public static Pen Lavender => GetPen(s_lavenderKey, Color.Lavender);
public static Pen LavenderBlush => GetPen(s_lavenderBlushKey, Color.LavenderBlush);
public static Pen LawnGreen => GetPen(s_lawnGreenKey, Color.LawnGreen);
public static Pen LemonChiffon => GetPen(s_lemonChiffonKey, Color.LemonChiffon);
public static Pen LightBlue => GetPen(s_lightBlueKey, Color.LightBlue);
public static Pen LightCoral => GetPen(s_lightCoralKey, Color.LightCoral);
public static Pen LightCyan => GetPen(s_lightCyanKey, Color.LightCyan);
public static Pen LightGoldenrodYellow => GetPen(s_lightGoldenrodYellowKey, Color.LightGoldenrodYellow);
public static Pen LightGreen => GetPen(s_lightGreenKey, Color.LightGreen);
public static Pen LightGray => GetPen(s_lightGrayKey, Color.LightGray);
public static Pen LightPink => GetPen(s_lightPinkKey, Color.LightPink);
public static Pen LightSalmon => GetPen(s_lightSalmonKey, Color.LightSalmon);
public static Pen LightSeaGreen => GetPen(s_lightSeaGreenKey, Color.LightSeaGreen);
public static Pen LightSkyBlue => GetPen(s_lightSkyBlueKey, Color.LightSkyBlue);
public static Pen LightSlateGray => GetPen(s_lightSlateGrayKey, Color.LightSlateGray);
public static Pen LightSteelBlue => GetPen(s_lightSteelBlueKey, Color.LightSteelBlue);
public static Pen LightYellow => GetPen(s_lightYellowKey, Color.LightYellow);
public static Pen Lime => GetPen(s_limeKey, Color.Lime);
public static Pen LimeGreen => GetPen(s_limeGreenKey, Color.LimeGreen);
public static Pen Linen => GetPen(s_linenKey, Color.Linen);
public static Pen Magenta => GetPen(s_magentaKey, Color.Magenta);
public static Pen Maroon => GetPen(s_maroonKey, Color.Maroon);
public static Pen MediumAquamarine => GetPen(s_mediumAquamarineKey, Color.MediumAquamarine);
public static Pen MediumBlue => GetPen(s_mediumBlueKey, Color.MediumBlue);
public static Pen MediumOrchid => GetPen(s_mediumOrchidKey, Color.MediumOrchid);
public static Pen MediumPurple => GetPen(s_mediumPurpleKey, Color.MediumPurple);
public static Pen MediumSeaGreen => GetPen(s_mediumSeaGreenKey, Color.MediumSeaGreen);
public static Pen MediumSlateBlue => GetPen(s_mediumSlateBlueKey, Color.MediumSlateBlue);
public static Pen MediumSpringGreen => GetPen(s_mediumSpringGreenKey, Color.MediumSpringGreen);
public static Pen MediumTurquoise => GetPen(s_mediumTurquoiseKey, Color.MediumTurquoise);
public static Pen MediumVioletRed => GetPen(s_mediumVioletRedKey, Color.MediumVioletRed);
public static Pen MidnightBlue => GetPen(s_midnightBlueKey, Color.MidnightBlue);
public static Pen MintCream => GetPen(s_mintCreamKey, Color.MintCream);
public static Pen MistyRose => GetPen(s_mistyRoseKey, Color.MistyRose);
public static Pen Moccasin => GetPen(s_moccasinKey, Color.Moccasin);
public static Pen NavajoWhite => GetPen(s_navajoWhiteKey, Color.NavajoWhite);
public static Pen Navy => GetPen(s_navyKey, Color.Navy);
public static Pen OldLace => GetPen(s_oldLaceKey, Color.OldLace);
public static Pen Olive => GetPen(s_oliveKey, Color.Olive);
public static Pen OliveDrab => GetPen(s_oliveDrabKey, Color.OliveDrab);
public static Pen Orange => GetPen(s_orangeKey, Color.Orange);
public static Pen OrangeRed => GetPen(s_orangeRedKey, Color.OrangeRed);
public static Pen Orchid => GetPen(s_orchidKey, Color.Orchid);
public static Pen PaleGoldenrod => GetPen(s_paleGoldenrodKey, Color.PaleGoldenrod);
public static Pen PaleGreen => GetPen(s_paleGreenKey, Color.PaleGreen);
public static Pen PaleTurquoise => GetPen(s_paleTurquoiseKey, Color.PaleTurquoise);
public static Pen PaleVioletRed => GetPen(s_paleVioletRedKey, Color.PaleVioletRed);
public static Pen PapayaWhip => GetPen(s_papayaWhipKey, Color.PapayaWhip);
public static Pen PeachPuff => GetPen(s_peachPuffKey, Color.PeachPuff);
public static Pen Peru => GetPen(s_peruKey, Color.Peru);
public static Pen Pink => GetPen(s_pinkKey, Color.Pink);
public static Pen Plum => GetPen(s_plumKey, Color.Plum);
public static Pen PowderBlue => GetPen(s_powderBlueKey, Color.PowderBlue);
public static Pen Purple => GetPen(s_purpleKey, Color.Purple);
public static Pen Red => GetPen(s_redKey, Color.Red);
public static Pen RosyBrown => GetPen(s_rosyBrownKey, Color.RosyBrown);
public static Pen RoyalBlue => GetPen(s_royalBlueKey, Color.RoyalBlue);
public static Pen SaddleBrown => GetPen(s_saddleBrownKey, Color.SaddleBrown);
public static Pen Salmon => GetPen(s_salmonKey, Color.Salmon);
public static Pen SandyBrown => GetPen(s_sandyBrownKey, Color.SandyBrown);
public static Pen SeaGreen => GetPen(s_seaGreenKey, Color.SeaGreen);
public static Pen SeaShell => GetPen(s_seaShellKey, Color.SeaShell);
public static Pen Sienna => GetPen(s_siennaKey, Color.Sienna);
public static Pen Silver => GetPen(s_silverKey, Color.Silver);
public static Pen SkyBlue => GetPen(s_skyBlueKey, Color.SkyBlue);
public static Pen SlateBlue => GetPen(s_slateBlueKey, Color.SlateBlue);
public static Pen SlateGray => GetPen(s_slateGrayKey, Color.SlateGray);
public static Pen Snow => GetPen(s_snowKey, Color.Snow);
public static Pen SpringGreen => GetPen(s_springGreenKey, Color.SpringGreen);
public static Pen SteelBlue => GetPen(s_steelBlueKey, Color.SteelBlue);
public static Pen Tan => GetPen(s_tanKey, Color.Tan);
public static Pen Teal => GetPen(s_tealKey, Color.Teal);
public static Pen Thistle => GetPen(s_thistleKey, Color.Thistle);
public static Pen Tomato => GetPen(s_tomatoKey, Color.Tomato);
public static Pen Turquoise => GetPen(s_turquoiseKey, Color.Turquoise);
public static Pen Violet => GetPen(s_violetKey, Color.Violet);
public static Pen Wheat => GetPen(s_wheatKey, Color.Wheat);
public static Pen White => GetPen(s_whiteKey, Color.White);
public static Pen WhiteSmoke => GetPen(s_whiteSmokeKey, Color.WhiteSmoke);
public static Pen Yellow => GetPen(s_yellowKey, Color.Yellow);
public static Pen YellowGreen => GetPen(s_yellowGreenKey, Color.YellowGreen);
private static Pen GetPen(object key, Color color)
{
Pen? Pen = (Pen?)Gdip.ThreadData[key];
if (Pen == null)
{
Pen = new Pen(color, true);
Gdip.ThreadData[key] = Pen;
}
return Pen;
}
}
}