1. 25 Mar, 2015 1 commit
  2. 26 Sep, 2014 1 commit
  3. 24 Sep, 2014 1 commit
    • Dan Backes's avatar
      Performance Improvement · 1b8cb43f
      Dan Backes authored
      - Because querying the Bounds property of an ISvgBoundable or
        SvgVisualElement is expensive, we introduced an ImmutableBoundable that
        is used by the SvgRenderer. This class stores the bounds of the supplied
        ISvgBoundable so that multiple queries for the bounds do not hamper
        performance when rendering.
      
      - Converted the Bounds property on ISvgBoundable and SvgVisualElement to a
        CalculateBounds method to indicate that it is an expensive operation
        that returns a new value each time it is called.
      
      - Removed redundant ISvgBoundable Location and Size properties.
      
      - Fixed a bug in SvgFragment.Path property by converting it to a method that
        indicates it returns a new GraphicsPath instance when called and by
        disposing of that instance in CalculateBounds. There are many more
        instances of GraphicsPath not being disposed in the code base but we did
        not address that here.
      1b8cb43f
  4. 25 Aug, 2014 1 commit
    • Eric Domke's avatar
      Bug Fixes · 4200d302
      Eric Domke authored
      - Improving rendering of SVG images
      - Allow markers on lines, polygons, and polylines
      - Implement different line joins and line caps
      - Improve CSS handling
      4200d302
  5. 23 Aug, 2014 1 commit
    • Eric Domke's avatar
      Gradient, Pattern, and Clip Fixes · 3f4ee333
      Eric Domke authored
      - Better parser for dealing with parsing edge cases
      - Fix corner radius for rectangles
      - Fix to gradients.  Most tests now pass
      - Add the possibility for a fallback paint server
      - Initial fixes to clipping
      - Start marking passed test
      - Fixes to pattern rendering
      3f4ee333
  6. 17 Aug, 2014 1 commit
    • Eric Domke's avatar
      Text on a Path & SVG Fonts · 7c70bd11
      Eric Domke authored
      - Extraction interface for SvgRenderer
      - Initial support for Text on a Path
      - Initial support for Svg Fonts
      - Support for symbol element
      - Minor bug fixes with image pattern rendering
      - Additional support for Text whitespace modes
      7c70bd11
  7. 10 Aug, 2014 1 commit
  8. 04 Aug, 2014 1 commit
    • Eric Domke's avatar
      Refactoring while working through W3C tests · d5c659a5
      Eric Domke authored
      - Adding W3C test cases and a test fixture
      - Fixed support for CSS stylesheets (particularly when class names are
      referenced)
      - Refactoring unit calculations so that percentages and fractions
      calculate more accurately
      - SvgImage:
      - Support PreserveAspectRatio attribute
      - Support for referencing svg images
      - Refactored text rendering to use the AttributeCollection inheritance
      scheme
      - Initial attempt at 'ex' unit support
      - Added support for system color names
      - Changed parsing of entities to support XML entities
      - Supporting loading of a svg document directly from a XmlDocument with
      requiring serializing the document as a string first.
      - ...
      d5c659a5
  9. 31 Jul, 2014 1 commit
  10. 26 Jul, 2014 1 commit
  11. 25 Jul, 2014 1 commit
  12. 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
  13. 14 Jul, 2014 1 commit
    • 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
  14. 21 May, 2014 1 commit
    • C Moore's avatar
      Requested Changes from PR #67 Review · c04111fc
      C Moore authored
      Moved Display="none" hack & Added .Render check for : if (!Visible ||
      !Displayable)
      
      Also, minor change to logic of SvgBoolConverter so bad visibility values
      (other than "hidden" or "collapse") wouldn't accidentally hide element
      c04111fc
  15. 24 Mar, 2014 1 commit
  16. 17 Nov, 2013 1 commit
  17. 30 Jul, 2013 1 commit
  18. 11 Jul, 2013 1 commit
  19. 19 Mar, 2012 1 commit
    • G Money's avatar
      - Made Deepcopy change to all elements to allow for duplicating part of the Svg document tree · 094c0b1a
      G Money authored
      - Changes to get texts displaying bold / normal weight
      - Changes to get textspans work correctly
      - Made (semi-hardcoded) document metadata section - allow reading and regurgitating metdata tag from an original source document
      - Included image
      - Modified paths to allow for scientific notation
      - Included ability to have markers for path ends (arrow ends etc)
      094c0b1a
  20. 11 Nov, 2011 1 commit
    • Tebjan Halm's avatar
      * implemented fill modes · 6998823a
      Tebjan Halm authored
      * fill can be null -> none in XML
      * added type converters for enums
      * added type converter for unitcollection
      * fixes several viewbox bugs
      * document can now draw into a given bitmap
      * content of SVG tag is written (used by the text tag)
      * changed font handling in text element, still need proper alignment
      * changed intersparse character of SvgTransformConverter.cs to space, because inkscape couldn't parse comma
      * added class diagram for basic shapes
      6998823a
  21. 04 Mar, 2010 1 commit
  22. 24 Aug, 2009 1 commit
  23. 26 Dec, 2008 1 commit
  24. 20 Dec, 2008 1 commit
  25. 19 Dec, 2008 1 commit
  26. 18 Oct, 2008 3 commits
  27. 17 Oct, 2008 1 commit
  28. 17 Jun, 2008 1 commit
    • davescriven's avatar
      - Fixed #6324: SvgElement.PushTransforms and ViewBox - not necessarily related... · 7a704170
      davescriven authored
      - Fixed #6324: SvgElement.PushTransforms and ViewBox - not necessarily related to ViewBox but every   element was 'resetting' the current graphics transform if the element contained it's own transform. This 
        was a very small fix for a large problem (SvgElement.PushTransforms Matrix transformMatrix = new   Matrix(); changed to Matrix transformMatrix = renderer.Transform; in order to inherit the current   transform.)
      - Fixed #6344: Parsing document incorrectly parents elements when it encounters empty nodes which are   in a different namespace. Empty nodes are now ignored and current nodes are closed as required. We'll 
        see how this fix goes.
      - Fixed #6381: Units in inches are incorrectly parsed as millimeters - problem was caused by some   copy/paste work.
      - Graphics has been replaced by SvgRenderer. This is essentially a wrapper around graphics but will allow
        custom svg related properties in the future when needed.
      - Removed ISvgRenderer: A concrete implementation is suitable.
      - SvgElement.ElementName has been changed to non-virtual and is set by the parser instead of the   developer having to specify it when developing the class.
      - Added more XML API documentation.
      7a704170
  29. 07 Mar, 2008 1 commit