Svg2Xaml.SvgGradientBaseElement.SetBrush C# (CSharp) Method

SetBrush() protected method

protected SetBrush ( System.Windows.Media.GradientBrush brush ) : System.Windows.Media.GradientBrush
brush System.Windows.Media.GradientBrush
return System.Windows.Media.GradientBrush
        protected virtual GradientBrush SetBrush(GradientBrush brush)
        {
            switch(SpreadMethod)
              {
            case SvgSpreadMethod.Pad:
              brush.SpreadMethod = GradientSpreadMethod.Pad;
              break;

            case SvgSpreadMethod.Reflect:
              brush.SpreadMethod = GradientSpreadMethod.Reflect;
              break;

            case SvgSpreadMethod.Repeat:
              brush.SpreadMethod = GradientSpreadMethod.Repeat;
              break;
              }

              switch(GradientUnits)
              {
            case SvgGradientUnits.ObjectBoundingBox:
              brush.MappingMode = BrushMappingMode.RelativeToBoundingBox;
              break;

            case SvgGradientUnits.UserSpaceOnUse:
              brush.MappingMode = BrushMappingMode.Absolute;
              break;
              }

              if(Transform != null)
            brush.Transform = Transform.ToTransform();

              foreach(SvgStopElement stop in Stops)
            brush.GradientStops.Add(stop.ToGradientStop());

              return brush;
        }

Usage Example

        //==========================================================================
        public GradientBrush ToBrush()
        {
            GradientBrush brush = CreateBrush();

            if (Reference != null)
            {
                if (!Document.Elements.ContainsKey(Reference))
                {
                    return(null);
                }

                SvgGradientBaseElement reference = Document.Elements[Reference] as SvgGradientBaseElement;
                if (reference == null)
                {
                    throw new NotImplementedException();
                }
                reference.SetBrush(brush);
            }
            return(SetBrush(brush));
        }