• James Welle's avatar
    Gradient Improvements · 3987f281
    James Welle authored
    - Added support for the "gradientTransform" attribute on both linear and
      radial gradients. The matrix in this attribute needs to be applied to
      attributes with coordinate values on the gradient element in order to
      transform them into the correct coordinate space.
    
    - Added support for a value of "pad" for the "spreadMode" attribute on
      both linear and radial gradients. This is the default value but was not
      implemented correctly. In order to implement, we examine the properties
      of the gradient along with the element to which the gradient is being
      applied to determine if we need to expand the bounds of the gradient to
      fill the element. If so, we do so and adjust the color stops and
      positions so they are correct for the new gradient bounds.
    
    - Divided ISvgStylable into ISvgBoundable and ISvgStylable. The
      SvgUnit.ToDeviceValue method just needs bounds so it can take
      ISvgBoundable. Moved SvgDocument.GetDimensions() to SvgFragment and made
      SvgFragment ISvgBoundable.
    
    - Fixed a bug in SvgFragment.PushTransforms where it was calling the
      SvgUnit.ToDeviceValue overload that takes no parameters. This overload
      doesn't work if the value being converted is a percentage. (The overload
      should probably be removed entirely, but we didn't take that on in this
      commit.)
    
    - Fixed an issue in SvgGroup.Bounds where a child with empty bounds would
      cause the group's bounds to be reported as empty.
    
    - Fixed broken build by adding missing SvgMarker.MarkerUnits property.
    
    - Converted files that we touched with mixed tabs and spaces to spaces.
      Also removed unused usings from files we touched.
    
    - Converted SvgLinearGradientServer to use properties without backing
      fields for X1, Y1, etc. in order to match SvgRadialGradientServer.
    
    - Moved default value assignments into constructors for consistency.
    3987f281