internal static KnownColor ColorStringToKnownColor()

in src/Editor/FPF/PresentationCore/System.Windows.Media.Colors.cs [215:594]


		internal static KnownColor ColorStringToKnownColor(string colorString)
		{
			if (null != colorString) {
				// We use invariant culture because we don't globalize our color names
				string colorUpper = colorString.ToUpper(System.Globalization.CultureInfo.InvariantCulture);

				// Use String.Equals because it does explicit equality
				// StartsWith/EndsWith are culture sensitive and are 4-7 times slower than Equals

				switch (colorUpper.Length) {
					case 3:
						if (colorUpper.Equals("RED")) return KnownColor.Red;
						if (colorUpper.Equals("TAN")) return KnownColor.Tan;
						break;
					case 4:
						switch (colorUpper[0]) {
							case 'A':
								if (colorUpper.Equals("AQUA")) return KnownColor.Aqua;
								break;
							case 'B':
								if (colorUpper.Equals("BLUE")) return KnownColor.Blue;
								break;
							case 'C':
								if (colorUpper.Equals("CYAN")) return KnownColor.Cyan;
								break;
							case 'G':
								if (colorUpper.Equals("GOLD")) return KnownColor.Gold;
								if (colorUpper.Equals("GRAY")) return KnownColor.Gray;
								break;
							case 'L':
								if (colorUpper.Equals("LIME")) return KnownColor.Lime;
								break;
							case 'N':
								if (colorUpper.Equals("NAVY")) return KnownColor.Navy;
								break;
							case 'P':
								if (colorUpper.Equals("PERU")) return KnownColor.Peru;
								if (colorUpper.Equals("PINK")) return KnownColor.Pink;
								if (colorUpper.Equals("PLUM")) return KnownColor.Plum;
								break;
							case 'S':
								if (colorUpper.Equals("SNOW")) return KnownColor.Snow;
								break;
							case 'T':
								if (colorUpper.Equals("TEAL")) return KnownColor.Teal;
								break;
						}
						break;
					case 5:
						switch (colorUpper[0]) {
							case 'A':
								if (colorUpper.Equals("AZURE")) return KnownColor.Azure;
								break;
							case 'B':
								if (colorUpper.Equals("BEIGE")) return KnownColor.Beige;
								if (colorUpper.Equals("BLACK")) return KnownColor.Black;
								if (colorUpper.Equals("BROWN")) return KnownColor.Brown;
								break;
							case 'C':
								if (colorUpper.Equals("CORAL")) return KnownColor.Coral;
								break;
							case 'G':
								if (colorUpper.Equals("GREEN")) return KnownColor.Green;
								break;
							case 'I':
								if (colorUpper.Equals("IVORY")) return KnownColor.Ivory;
								break;
							case 'K':
								if (colorUpper.Equals("KHAKI")) return KnownColor.Khaki;
								break;
							case 'L':
								if (colorUpper.Equals("LINEN")) return KnownColor.Linen;
								break;
							case 'O':
								if (colorUpper.Equals("OLIVE")) return KnownColor.Olive;
								break;
							case 'W':
								if (colorUpper.Equals("WHEAT")) return KnownColor.Wheat;
								if (colorUpper.Equals("WHITE")) return KnownColor.White;
								break;
						}
						break;
					case 6:
						switch (colorUpper[0]) {
							case 'B':
								if (colorUpper.Equals("BISQUE")) return KnownColor.Bisque;
								break;
							case 'I':
								if (colorUpper.Equals("INDIGO")) return KnownColor.Indigo;
								break;
							case 'M':
								if (colorUpper.Equals("MAROON")) return KnownColor.Maroon;
								break;
							case 'O':
								if (colorUpper.Equals("ORANGE")) return KnownColor.Orange;
								if (colorUpper.Equals("ORCHID")) return KnownColor.Orchid;
								break;
							case 'P':
								if (colorUpper.Equals("PURPLE")) return KnownColor.Purple;
								break;
							case 'S':
								if (colorUpper.Equals("SALMON")) return KnownColor.Salmon;
								if (colorUpper.Equals("SIENNA")) return KnownColor.Sienna;
								if (colorUpper.Equals("SILVER")) return KnownColor.Silver;
								break;
							case 'T':
								if (colorUpper.Equals("TOMATO")) return KnownColor.Tomato;
								break;
							case 'V':
								if (colorUpper.Equals("VIOLET")) return KnownColor.Violet;
								break;
							case 'Y':
								if (colorUpper.Equals("YELLOW")) return KnownColor.Yellow;
								break;
						}
						break;
					case 7:
						switch (colorUpper[0]) {
							case 'C':
								if (colorUpper.Equals("CRIMSON")) return KnownColor.Crimson;
								break;
							case 'D':
								if (colorUpper.Equals("DARKRED")) return KnownColor.DarkRed;
								if (colorUpper.Equals("DIMGRAY")) return KnownColor.DimGray;
								break;
							case 'F':
								if (colorUpper.Equals("FUCHSIA")) return KnownColor.Fuchsia;
								break;
							case 'H':
								if (colorUpper.Equals("HOTPINK")) return KnownColor.HotPink;
								break;
							case 'M':
								if (colorUpper.Equals("MAGENTA")) return KnownColor.Magenta;
								break;
							case 'O':
								if (colorUpper.Equals("OLDLACE")) return KnownColor.OldLace;
								break;
							case 'S':
								if (colorUpper.Equals("SKYBLUE")) return KnownColor.SkyBlue;
								break;
							case 'T':
								if (colorUpper.Equals("THISTLE")) return KnownColor.Thistle;
								break;
						}
						break;
					case 8:
						switch (colorUpper[0]) {
							case 'C':
								if (colorUpper.Equals("CORNSILK")) return KnownColor.Cornsilk;
								break;
							case 'D':
								if (colorUpper.Equals("DARKBLUE")) return KnownColor.DarkBlue;
								if (colorUpper.Equals("DARKCYAN")) return KnownColor.DarkCyan;
								if (colorUpper.Equals("DARKGRAY")) return KnownColor.DarkGray;
								if (colorUpper.Equals("DEEPPINK")) return KnownColor.DeepPink;
								break;
							case 'H':
								if (colorUpper.Equals("HONEYDEW")) return KnownColor.Honeydew;
								break;
							case 'L':
								if (colorUpper.Equals("LAVENDER")) return KnownColor.Lavender;
								break;
							case 'M':
								if (colorUpper.Equals("MOCCASIN")) return KnownColor.Moccasin;
								break;
							case 'S':
								if (colorUpper.Equals("SEAGREEN")) return KnownColor.SeaGreen;
								if (colorUpper.Equals("SEASHELL")) return KnownColor.SeaShell;
								break;
						}
						break;
					case 9:
						switch (colorUpper[0]) {
							case 'A':
								if (colorUpper.Equals("ALICEBLUE")) return KnownColor.AliceBlue;
								break;
							case 'B':
								if (colorUpper.Equals("BURLYWOOD")) return KnownColor.BurlyWood;
								break;
							case 'C':
								if (colorUpper.Equals("CADETBLUE")) return KnownColor.CadetBlue;
								if (colorUpper.Equals("CHOCOLATE")) return KnownColor.Chocolate;
								break;
							case 'D':
								if (colorUpper.Equals("DARKGREEN")) return KnownColor.DarkGreen;
								if (colorUpper.Equals("DARKKHAKI")) return KnownColor.DarkKhaki;
								break;
							case 'F':
								if (colorUpper.Equals("FIREBRICK")) return KnownColor.Firebrick;
								break;
							case 'G':
								if (colorUpper.Equals("GAINSBORO")) return KnownColor.Gainsboro;
								if (colorUpper.Equals("GOLDENROD")) return KnownColor.Goldenrod;
								break;
							case 'I':
								if (colorUpper.Equals("INDIANRED")) return KnownColor.IndianRed;
								break;
							case 'L':
								if (colorUpper.Equals("LAWNGREEN")) return KnownColor.LawnGreen;
								if (colorUpper.Equals("LIGHTBLUE")) return KnownColor.LightBlue;
								if (colorUpper.Equals("LIGHTCYAN")) return KnownColor.LightCyan;
								if (colorUpper.Equals("LIGHTGRAY")) return KnownColor.LightGray;
								if (colorUpper.Equals("LIGHTPINK")) return KnownColor.LightPink;
								if (colorUpper.Equals("LIMEGREEN")) return KnownColor.LimeGreen;
								break;
							case 'M':
								if (colorUpper.Equals("MINTCREAM")) return KnownColor.MintCream;
								if (colorUpper.Equals("MISTYROSE")) return KnownColor.MistyRose;
								break;
							case 'O':
								if (colorUpper.Equals("OLIVEDRAB")) return KnownColor.OliveDrab;
								if (colorUpper.Equals("ORANGERED")) return KnownColor.OrangeRed;
								break;
							case 'P':
								if (colorUpper.Equals("PALEGREEN")) return KnownColor.PaleGreen;
								if (colorUpper.Equals("PEACHPUFF")) return KnownColor.PeachPuff;
								break;
							case 'R':
								if (colorUpper.Equals("ROSYBROWN")) return KnownColor.RosyBrown;
								if (colorUpper.Equals("ROYALBLUE")) return KnownColor.RoyalBlue;
								break;
							case 'S':
								if (colorUpper.Equals("SLATEBLUE")) return KnownColor.SlateBlue;
								if (colorUpper.Equals("SLATEGRAY")) return KnownColor.SlateGray;
								if (colorUpper.Equals("STEELBLUE")) return KnownColor.SteelBlue;
								break;
							case 'T':
								if (colorUpper.Equals("TURQUOISE")) return KnownColor.Turquoise;
								break;
						}
						break;
					case 10:
						switch (colorUpper[0]) {
							case 'A':
								if (colorUpper.Equals("AQUAMARINE")) return KnownColor.Aquamarine;
								break;
							case 'B':
								if (colorUpper.Equals("BLUEVIOLET")) return KnownColor.BlueViolet;
								break;
							case 'C':
								if (colorUpper.Equals("CHARTREUSE")) return KnownColor.Chartreuse;
								break;
							case 'D':
								if (colorUpper.Equals("DARKORANGE")) return KnownColor.DarkOrange;
								if (colorUpper.Equals("DARKORCHID")) return KnownColor.DarkOrchid;
								if (colorUpper.Equals("DARKSALMON")) return KnownColor.DarkSalmon;
								if (colorUpper.Equals("DARKVIOLET")) return KnownColor.DarkViolet;
								if (colorUpper.Equals("DODGERBLUE")) return KnownColor.DodgerBlue;
								break;
							case 'G':
								if (colorUpper.Equals("GHOSTWHITE")) return KnownColor.GhostWhite;
								break;
							case 'L':
								if (colorUpper.Equals("LIGHTCORAL")) return KnownColor.LightCoral;
								if (colorUpper.Equals("LIGHTGREEN")) return KnownColor.LightGreen;
								break;
							case 'M':
								if (colorUpper.Equals("MEDIUMBLUE")) return KnownColor.MediumBlue;
								break;
							case 'P':
								if (colorUpper.Equals("PAPAYAWHIP")) return KnownColor.PapayaWhip;
								if (colorUpper.Equals("POWDERBLUE")) return KnownColor.PowderBlue;
								break;
							case 'S':
								if (colorUpper.Equals("SANDYBROWN")) return KnownColor.SandyBrown;
								break;
							case 'W':
								if (colorUpper.Equals("WHITESMOKE")) return KnownColor.WhiteSmoke;
								break;
						}
						break;
					case 11:
						switch (colorUpper[0]) {
							case 'D':
								if (colorUpper.Equals("DARKMAGENTA")) return KnownColor.DarkMagenta;
								if (colorUpper.Equals("DEEPSKYBLUE")) return KnownColor.DeepSkyBlue;
								break;
							case 'F':
								if (colorUpper.Equals("FLORALWHITE")) return KnownColor.FloralWhite;
								if (colorUpper.Equals("FORESTGREEN")) return KnownColor.ForestGreen;
								break;
							case 'G':
								if (colorUpper.Equals("GREENYELLOW")) return KnownColor.GreenYellow;
								break;
							case 'L':
								if (colorUpper.Equals("LIGHTSALMON")) return KnownColor.LightSalmon;
								if (colorUpper.Equals("LIGHTYELLOW")) return KnownColor.LightYellow;
								break;
							case 'N':
								if (colorUpper.Equals("NAVAJOWHITE")) return KnownColor.NavajoWhite;
								break;
							case 'S':
								if (colorUpper.Equals("SADDLEBROWN")) return KnownColor.SaddleBrown;
								if (colorUpper.Equals("SPRINGGREEN")) return KnownColor.SpringGreen;
								break;
							case 'T':
								if (colorUpper.Equals("TRANSPARENT")) return KnownColor.Transparent;
								break;
							case 'Y':
								if (colorUpper.Equals("YELLOWGREEN")) return KnownColor.YellowGreen;
								break;
						}
						break;
					case 12:
						switch (colorUpper[0]) {
							case 'A':
								if (colorUpper.Equals("ANTIQUEWHITE")) return KnownColor.AntiqueWhite;
								break;
							case 'D':
								if (colorUpper.Equals("DARKSEAGREEN")) return KnownColor.DarkSeaGreen;
								break;
							case 'L':
								if (colorUpper.Equals("LIGHTSKYBLUE")) return KnownColor.LightSkyBlue;
								if (colorUpper.Equals("LEMONCHIFFON")) return KnownColor.LemonChiffon;
								break;
							case 'M':
								if (colorUpper.Equals("MEDIUMORCHID")) return KnownColor.MediumOrchid;
								if (colorUpper.Equals("MEDIUMPURPLE")) return KnownColor.MediumPurple;
								if (colorUpper.Equals("MIDNIGHTBLUE")) return KnownColor.MidnightBlue;
								break;
						}
						break;
					case 13:
						switch (colorUpper[0]) {
							case 'D':
								if (colorUpper.Equals("DARKSLATEBLUE")) return KnownColor.DarkSlateBlue;
								if (colorUpper.Equals("DARKSLATEGRAY")) return KnownColor.DarkSlateGray;
								if (colorUpper.Equals("DARKGOLDENROD")) return KnownColor.DarkGoldenrod;
								if (colorUpper.Equals("DARKTURQUOISE")) return KnownColor.DarkTurquoise;
								break;
							case 'L':
								if (colorUpper.Equals("LIGHTSEAGREEN")) return KnownColor.LightSeaGreen;
								if (colorUpper.Equals("LAVENDERBLUSH")) return KnownColor.LavenderBlush;
								break;
							case 'P':
								if (colorUpper.Equals("PALEGOLDENROD")) return KnownColor.PaleGoldenrod;
								if (colorUpper.Equals("PALETURQUOISE")) return KnownColor.PaleTurquoise;
								if (colorUpper.Equals("PALEVIOLETRED")) return KnownColor.PaleVioletRed;
								break;
						}
						break;
					case 14:
						switch (colorUpper[0]) {
							case 'B':
								if (colorUpper.Equals("BLANCHEDALMOND")) return KnownColor.BlanchedAlmond;
								break;
							case 'C':
								if (colorUpper.Equals("CORNFLOWERBLUE")) return KnownColor.CornflowerBlue;
								break;
							case 'D':
								if (colorUpper.Equals("DARKOLIVEGREEN")) return KnownColor.DarkOliveGreen;
								break;
							case 'L':
								if (colorUpper.Equals("LIGHTSLATEGRAY")) return KnownColor.LightSlateGray;
								if (colorUpper.Equals("LIGHTSTEELBLUE")) return KnownColor.LightSteelBlue;
								break;
							case 'M':
								if (colorUpper.Equals("MEDIUMSEAGREEN")) return KnownColor.MediumSeaGreen;
								break;
						}
						break;
					case 15:
						if (colorUpper.Equals("MEDIUMSLATEBLUE")) return KnownColor.MediumSlateBlue;
						if (colorUpper.Equals("MEDIUMTURQUOISE")) return KnownColor.MediumTurquoise;
						if (colorUpper.Equals("MEDIUMVIOLETRED")) return KnownColor.MediumVioletRed;
						break;
					case 16:
						if (colorUpper.Equals("MEDIUMAQUAMARINE")) return KnownColor.MediumAquamarine;
						break;
					case 17:
						if (colorUpper.Equals("MEDIUMSPRINGGREEN")) return KnownColor.MediumSpringGreen;
						break;
					case 20:
						if (colorUpper.Equals("LIGHTGOLDENRODYELLOW")) return KnownColor.LightGoldenrodYellow;
						break;
				}
			}
			// colorString was null or not found
			return KnownColor.UnknownColor;
		}