Created attachment 123356 [details]
PPTX with grow/shrink emphasis animation
The attached PPTX has a Grow/Shrink emphasis animation on the blue rectangle.
On PowerPoint 2013 the rectangle grows by 150% on click in both directions.
When importing the PPTX, Impress recognizes the animation but playing it does nothing.
The effect size is set to 0% instead of 150%.
The effect direction is set to Horizontal instead of Both.
Even when changing the effect options manually the animation does nothing.
I can confirm with Version: 126.96.36.199.alpha0+
Build ID: 98a8eafa915b8d57b8bdccab9981e537d77f6f4a
CPU Threads: 1; OS Version: Windows 6.1; UI Render: default;
TinderBox: Win-x86@39, Branch:master, Time: 2016-02-25_00:49:33
Setting grow works (sometimes?). Try it by using the dialog, which you get, when you click the "more properties" button on the right side of the Size drop-down.
But shrink is broken totally.
The current dialog class ScalePropertyBox (in core/sd/source/ui/animations/CustomAnimationDialog.cxx) needs a new design. The current dialog only allows the fixed values 25%, 50%, 150%, 400% and does not allow independent settings for horizontal and vertical but 'only horizontal' or 'only vertical' or 'both'.
The ODF standard for scaling is specified in 15.2.3<anim:animateTransform> in part 1 and refers to §19.2.14 in https://www.w3.org/TR/2003/REC-SVG11-20030114/animate.html. The scaling factors in from, to or by can be given as sx,sy for example by="2.5,0.75".
Similar for OpenXML, which is relevant for pptx import. Although the UI in PowerPoint has similar restrictions, the standard allows more and PowerPoint can read such values, see §19.5.6 animScale in ECMA Open XML part1. You can write <p:by x="250000" y="75000"/> or in percent syntax <p:by x="250%" y="75%"/> for example.
Therefore the UI of LibreOffice should support independent setting of horizontal and vertical scale factor. When fixing this bug, this should be considered in parallel.
LO writes wrong attribute values to ODF format. If you repair the missing and wrong settings in the dialog and then save to odp or fodp, you find attributes smil:by.
Currently the values are e.g. smil:by="1.5,0" for "larger in horizontal direction". But it should be smil:by="1.5,1" because the values mean a scaling _factor_.
My comment#4 is wrong. See bug 108450 for test documents and description, what is wrong with the current UI and implementation.
Still reproducible with LO 188.8.131.52.alpha1 on Ubuntu 16.04.
Dear Rohan Kumar,
This bug has been in ASSIGNED status for more than 3 months without any
activity. Resetting it to NEW.
Please assigned it back to yourself if you're still working on this.
Mark Hung committed a patch related to this issue.
It has been pushed to "master":
tdf#98477 convert to, from, by of AnimScaleContext.
It will be available in 6.2.0.
The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
Affected users are encouraged to test the fix and report feedback.