1. 24 Jul, 2014 1 commit
    • James Welle's avatar
      Gradient Improvements · 9e269139
      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.
      9e269139