[Libreoffice-commits] core.git: xmloff/source

Armin Le Grand (CIB) Armin.Le.Grand at cib.de
Wed Feb 21 01:10:06 UTC 2018


 xmloff/source/text/XMLTextFrameContext.cxx |    5 ++++-
 xmloff/source/text/txtparae.cxx            |    4 +++-
 2 files changed, 7 insertions(+), 2 deletions(-)

New commits:
commit ea360461746f37be021b63da7a64a60d0f3c4af4
Author: Armin Le Grand <Armin.Le.Grand at cib.de (CIB)>
Date:   Tue Feb 20 15:55:49 2018 +0100

    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 at libreoffice.org>
    Reviewed-by: Armin Le Grand <Armin.Le.Grand at cib.de>

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);


More information about the Libreoffice-commits mailing list