Ejemplo n.º 1
0
        static HighlightingBrush ParseColor(string c)
        {
            if (c.StartsWith("#", StringComparison.Ordinal))
            {
                int a      = 255;
                int offset = 0;
                if (c.Length > 7)
                {
                    offset = 2;
                    a      = Int32.Parse(c.Substring(1, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture);
                }

                int r = Int32.Parse(c.Substring(1 + offset, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture);
                int g = Int32.Parse(c.Substring(3 + offset, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture);
                int b = Int32.Parse(c.Substring(5 + offset, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture);
                return(new SimpleHighlightingBrush(Color.FromArgb((byte)a, (byte)r, (byte)g, (byte)b)));
            }
            else if (c.StartsWith("SystemColors.", StringComparison.Ordinal))
            {
                return(V2Loader.GetSystemColorBrush(null, c));
            }
            else
            {
                return(new SimpleHighlightingBrush((Color)V2Loader.ColorConverter.ConvertFromInvariantString(c)));
            }
        }