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