From c68cc00c39b68a299f7d6d2445f3780d7290e432 Mon Sep 17 00:00:00 2001 From: Rohan Kumar Date: Tue, 14 Mar 2017 20:00:16 +0530 Subject: Fixed my mistake: fix flipOnYAxis for SVGPathElement Fix flipOnYAxis() method which was the cause of some SnakeWipePath transition subtypes not working. Change-Id: I1bea5bdddf6c6312384f59d8614a0a2bc1a6e3ba Reviewed-on: https://gerrit.libreoffice.org/35191 Reviewed-by: Thorsten Behrens Tested-by: Thorsten Behrens --- filter/source/svg/presentation_engine.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'filter') diff --git a/filter/source/svg/presentation_engine.js b/filter/source/svg/presentation_engine.js index eaee72509a51..292677d797ce 100644 --- a/filter/source/svg/presentation_engine.js +++ b/filter/source/svg/presentation_engine.js @@ -4558,12 +4558,22 @@ SVGPathElement.prototype.appendPath = function( aPath ) this.setAttribute( 'd', sPathData ); }; +/** flipOnYAxis + * Flips the SVG Path element along y-axis. + * + * @param aPath + * An object of type SVGPathElement to be flipped. + */ function flipOnYAxis( aPath ) { - var aMatrix = SVGIdentityMatrix.flipY().scaleNonUniform(-1, 1); - aPath.matrixTransform(aMatrix); - return aPath; + var aPolyPath = aPath.cloneNode(true); + var aTransform = document.documentElement.createSVGMatrix(); + aTransform.a = -1; + aTransform.e = 1; + aPolyPath.matrixTransform(aTransform); + return aPolyPath; } + /** SVGPathElement.matrixTransform * Apply the transformation defined by the passed matrix to the referenced * svg element. -- cgit