public static SolidColorBrush ColorStringToBrushes()

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;
        }