1. 17 Sep, 2015 1 commit
  2. 26 Aug, 2015 1 commit
    • Gertjan van Heertum's avatar
      Fixed problems when running in multiple threads. The use of a static matrix... · 3838e721
      Gertjan van Heertum authored
      Fixed problems when running in multiple threads. The use of a static matrix and the use of StringFormat.GenericTypographic seemed to cause problems when used in multi-threading. This is resolved by making the matrix non static and use a copy of the StringFormat.
      
      Also created a new exception for memory overflows. When using multithreading to render a large amount of big images the bitmap creation can fail (due to memory allocation) throwing an error. This is now caught and a specific exception is thrown.
      3838e721
  3. 20 Aug, 2015 2 commits
  4. 26 Sep, 2014 1 commit
  5. 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
  6. 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
  7. 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
  8. 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
  9. 10 Aug, 2014 1 commit
  10. 04 Aug, 2014 2 commits
    • Eric Domke's avatar
      Bug Fixes · 2187be3e
      Eric Domke authored
      - Remove WPF dependency
      - Fix compilation error after merge
      - Add support for underline and strike through
      - Fix whitespace handling with text rendering
      2187be3e
    • 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
  11. 01 Aug, 2014 1 commit
    • Eric Domke's avatar
      CSS Support · 3aedd8e8
      Eric Domke authored
      - Very initial support of CSS stylesheets in the SVG via including the
      ExCss and Fizzler libraries
      - Bug fixes with path rendering
      - Improvements to the API for loading an SVG file
      3aedd8e8
  12. 30 Jul, 2014 1 commit
  13. 25 Jul, 2014 2 commits
    • Eric Domke's avatar
      Iteration 2 of tspan functionality · 968a8f43
      Eric Domke authored
      - Support more font styles
      - Fix problems with parsing 'em' svg units introduced by trying to parse
      2e-5 double formats
      - Move font properties to SvgVisualElement class as grouping elements
      can also contain them
      - Properly inherit font properties via the parent list
      - Properly handle tspan offsets
      - Support for .Net 3.5
      968a8f43
    • Eric Domke's avatar
      Iteration 1 of tspan functionality · ceb78a3f
      Eric Domke authored
      ceb78a3f
  14. 24 Jul, 2014 4 commits
    • Eric Domke's avatar
      Various Parsing Bug Fixes · f10b0336
      Eric Domke authored
      - Implemented .Net 3.5 support mostly by removing ISvgEventCaller
      functionality in .Net 3.5 build
      - Added ability to parse colors such as rgb(#%, #%, #%)
      - Fix issues with calculating the next coordinate after a close figure
      and a relative move
      - Allow the std. deviation in a gaussian blur to be a float.
      - Allow "none" for a unit collection
      - Allow gradients to reference other gradients defined later in the SVG
      - Fix href attribute bug on the SVG use element
      - Adding a descendants convenience methods (similar to the Xml to Linq
      API)
      - Removed non-functional property from the SvgDescription class to
      encourage use of the Content property instead
      f10b0336
    • Guymestef's avatar
      Add support for unknown svg element and non svg element: useful for not... · 5649b72e
      Guymestef authored
      Add support for unknown svg element and non svg element: useful for not removing unknown xml tag from document when loading a file
      5649b72e
    • 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
    • Tebjan Halm's avatar
  15. 21 Jul, 2014 1 commit
  16. 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
  17. 02 Jul, 2014 1 commit
  18. 01 Jul, 2014 1 commit
    • Eric Domke's avatar
      Descendants Extension and Metadata Tweaks · 1f36e015
      Eric Domke authored
      - Adding a descendants convenience methods (similar to the Xml to Linq
      API)
      - Removed non-functional property from the SvgDescription class to
      encourage use of the Content property instead
      - Added unit test project for unit test of new functionality.
      1f36e015
  19. 30 Jun, 2014 1 commit
    • Eric Domke's avatar
      Improve SVG Support: TSpans, Paths, etc. · 7bb22d37
      Eric Domke authored
      - Fix issues with calculating the next coordinate after a close figure
      and a relative move
      - Allow the std. deviation in a gaussian blur to be a float.
      - Allow "none" for a unit collection
      - Allow a marker to scale with either the stroke width or the use a
      custom coordinate space
      - Allow gradients to reference other gradients defined later in the SVG
      - Respect the font and fill styles of TextSpan elements.  Current
      support is still partial.
      - Fix href attribute bug on the SVG use element
      7bb22d37
  20. 28 Jun, 2014 1 commit
  21. 27 Jun, 2014 1 commit
    • Eric Domke's avatar
      .Net 3.5 Support and Marker Fixes · 14a3b6a9
      Eric Domke authored
      - Implemented .Net 3.5 support mostly by removing ISvgEventCaller
      functionality in .Net 3.5 build
      - Added ability to parse orient="auto"
      - Added ability to parse colors such as rgb(#%, #%, #%)
      - Fixed marker rendering implementation
      14a3b6a9
  22. 13 Mar, 2014 1 commit
  23. 12 Mar, 2014 1 commit
  24. 08 Mar, 2014 1 commit
  25. 25 Nov, 2013 1 commit
  26. 17 Nov, 2013 1 commit
  27. 10 Oct, 2013 1 commit
  28. 28 Jun, 2013 1 commit
  29. 26 Jun, 2013 1 commit
  30. 04 Jun, 2013 1 commit
  31. 16 Jul, 2012 1 commit
  32. 16 Apr, 2012 1 commit
  33. 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
  34. 24 Dec, 2011 1 commit