summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorRegina Henschel <rb.henschel@t-online.de>2020-01-02 17:37:32 +0100
committerRegina Henschel <rb.henschel@t-online.de>2020-01-17 18:03:38 +0100
commitbc886f523872d4f9845c188c7d525d72a1a60946 (patch)
tree8677487eb45e619a9dcbc135c9c934e1a8e201d4 /svl
parent21a5c7f77dea3c880ee1808f5385205f53271338 (diff)
tdf#98584 Correct import draw:transform values skewY and matrix
Covers tdf#98583 and tdf#98565 too. TRBaseGeomety (API) uses for skewX the same angle orientation as written to file. But that results in mathematically wrong matrices. Change sign where needed. Vertical shearing is converted and written to file by LO as sequence rotation * shear horizontal * scale. Same should happen on reading. Because LO does not write skewY itself, I have used the angle orientation, that was used in OOo1.1.5 and that is used in Scribus 1.5.4. Import generates a transformation matrix from the draw:transform attribute. That is a mathematically correct matrix. It is applied to the shape via TRSetBaseGeometry. But that uses a wrong sign in the shear angle. Therefore conversion of mathematical matrix to TRBaseGeometry matrix is needed. The draw:transform attribute can generate a scaling, which needs to be applied on top of the scaling made from svg:width and svg:height. Such happens on import of skewY() and might happen with matrix(). SdrPathObject puts scaling form svg:width and svg:height directly into the coordinates of its points. It had ignored any additional scaling. I have add a part to detect and apply it. Change-Id: I7636b9feec432cf403e7c6ef8dbd6a769793d144 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86244 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
Diffstat (limited to 'svl')
0 files changed, 0 insertions, 0 deletions