diff options
author | Armin Le Grand <Armin.Le.Grand@cib.de (CIB)> | 2018-02-20 15:55:49 +0100 |
---|---|---|
committer | Armin Le Grand <Armin.Le.Grand@cib.de> | 2018-02-21 02:09:43 +0100 |
commit | ea360461746f37be021b63da7a64a60d0f3c4af4 (patch) | |
tree | 832d78c5e4ee5385f0de9805d01a4ca4f699b3f8 /xmloff | |
parent | a8d4d4b9edca48b8fb94dbb06d7dd1e689b07b98 (diff) |
tdf#115782: Need to use mirrored rotation in ODF
To be compatible with the orientation of rotations in ODF
format in current state (which is wrong oriented) we have to
do the same as in all other places (unfortunately).
Change-Id: I2f02019b91a0f6020612c9c09be2d247e1b1deb1
Reviewed-on: https://gerrit.libreoffice.org/50047
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Diffstat (limited to 'xmloff')
-rw-r--r-- | xmloff/source/text/XMLTextFrameContext.cxx | 5 | ||||
-rw-r--r-- | xmloff/source/text/txtparae.cxx | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/xmloff/source/text/XMLTextFrameContext.cxx b/xmloff/source/text/XMLTextFrameContext.cxx index 4f3a484b3bf6..d95aad61e78a 100644 --- a/xmloff/source/text/XMLTextFrameContext.cxx +++ b/xmloff/source/text/XMLTextFrameContext.cxx @@ -1025,7 +1025,10 @@ XMLTextFrameContext_Impl::XMLTextFrameContext_Impl( // value is already mirrored, so do not do it again here (to be in sync // with XMLTextParagraphExport::_exportTextGraphic normally it would need // to me mirrored using * -1.0, see conversion there) - const double fRotate(aDecomposedTransform.getRotate() * (1800.0/M_PI)); + // CAUTIONII: Due to tdf#115782 it is better for current ODF to indeed use it + // with the wrong orientation as in all other cases - ARGH! We will need to + // correct this in future ODF ASAP! For now, mirror the rotation here AGAIN + const double fRotate(aDecomposedTransform.getRotate() * (-1800.0/M_PI)); nRotation = static_cast< sal_Int16 >(basegfx::fround(fRotate) % 3600); // tdf#115529 may be negative, with the above modulo maximal -3599, so diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx index 16a57ed09d23..2cc83399191a 100644 --- a/xmloff/source/text/txtparae.cxx +++ b/xmloff/source/text/txtparae.cxx @@ -3078,7 +3078,9 @@ void XMLTextParagraphExport::_exportTextGraphic( // we have a right-handed coordinate system, so need to correct this by mirroring // the rotation to get the correct transformation. See also case XML_TOK_TEXT_FRAME_TRANSFORM // in XMLTextFrameContext_Impl::XMLTextFrameContext_Impl and #i78696# - const double fRotate(static_cast< double >(-nRotation) * (F_PI/1800.0)); + // CAUTIONII: Due to tdf#115782 it is better for current ODF to indeed write it with the wrong + // orientation as in all other cases - ARGH! We will need to correct this in future ODF ASAP! + const double fRotate(static_cast< double >(nRotation) * (F_PI/1800.0)); // transform to rotation center which is the object's center aSdXMLImExTransform2D.AddTranslate(-aCenter); |