Exemplo n.º 1
0
        public RadialGradientConverter()
        {
            var position = PointConverter.StartsWithKeyword(Keywords.At).Option(Point.Center);
            var circle   = WithOrder(WithAny(Assign(Keywords.Circle, true).Option(true),
                                             LengthConverter.Option()),
                                     position);

            var ellipse = WithOrder(WithAny(Assign(Keywords.Ellipse, false).Option(false),
                                            LengthOrPercentConverter.Many(2, 2).Option()),
                                    position);

            var extents = WithOrder(WithAny(Toggle(Keywords.Circle, Keywords.Ellipse).Option(false),
                                            Map.RadialGradientSizeModes.ToConverter()), position);

            _converter = circle.Or(ellipse.Or(extents));
        }