Kaydet (Commit) ea360461 authored tarafından Armin Le Grand's avatar Armin Le Grand Kaydeden (comit) Armin Le Grand

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/50047Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarArmin Le Grand <Armin.Le.Grand@cib.de>
üst a8d4d4b9
......@@ -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
......
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment