summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorRegina Henschel <rb.henschel@t-online.de>2021-03-20 20:05:19 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2021-03-23 11:24:39 +0100
commit7c4a797148a68b342b17f2d34854d6bacf51cb85 (patch)
tree5e0cccfce9b8a013647fe1444d2a00f563fe094d /svx
parentb18bffb5b4948bbdaece90a68a4c9341ad9df084 (diff)
tdf#141127 Use ODF default values for draw:extrusion-skew
The default value for extrusion skew angle is 45 in ODF and -135 in binary MS Office. LO had used -135 in case the draw:extrusion-skew attribute was missing on import. This could be fixed in GetSkew() in EnhancedCustomShape3d.cxx#92. But that would break import of ppt files. So I have decided not to search, were the binary import would need to be tweaked, but I set the default values directly in file open in case the attribute is missing. Change-Id: Ieeffa64099fdbdbe0ba9d4dab7ed2f19d397a6e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112819 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de> (cherry picked from commit 2bf8c1e0e211601a70b6b28fdb92f636c7969513) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112809 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'svx')
-rw-r--r--svx/qa/unit/customshapes.cxx18
-rw-r--r--svx/qa/unit/data/tdf141127_defaultSkewAngle.odpbin0 -> 28191 bytes
2 files changed, 18 insertions, 0 deletions
diff --git a/svx/qa/unit/customshapes.cxx b/svx/qa/unit/customshapes.cxx
index db7808a16f2f..036aff90543f 100644
--- a/svx/qa/unit/customshapes.cxx
+++ b/svx/qa/unit/customshapes.cxx
@@ -933,6 +933,24 @@ CPPUNIT_TEST_FIXTURE(CustomshapesTest, testTdf136176)
}
}
}
+
+CPPUNIT_TEST_FIXTURE(CustomshapesTest, testTdf141127WrongSkewDefault)
+{
+ // Load a document that has a shape in extrusion mode, but no draw:extrusion-skew attribute.
+ // Error was, that the shape uses the MS Office binary defaults and so the extruded side faces
+ // were not left/bottom, but top/right.
+ OUString sURL = m_directories.getURLFromSrc(sDataDirectory) + "tdf141127_defaultSkewAngle.odp";
+ mxComponent = loadFromDesktop(sURL, "com.sun.star.comp.presentation.PresentationDocument");
+ CPPUNIT_ASSERT_MESSAGE("Could not load document", mxComponent.is());
+ uno::Reference<drawing::XShape> xShape(getShape(0));
+ SdrObjCustomShape& rSdrCustomShape(
+ static_cast<SdrObjCustomShape&>(*GetSdrObjectFromXShape(xShape)));
+
+ // Check left/bottom of bound rect. Without fix it would be left=15994, bottom=6999.
+ tools::Rectangle aBoundRect(rSdrCustomShape.GetCurrentBoundRect());
+ CPPUNIT_ASSERT_EQUAL(tools::Long(15371), aBoundRect.Left());
+ CPPUNIT_ASSERT_EQUAL(tools::Long(7622), aBoundRect.Bottom());
+}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/qa/unit/data/tdf141127_defaultSkewAngle.odp b/svx/qa/unit/data/tdf141127_defaultSkewAngle.odp
new file mode 100644
index 000000000000..5cd0da96ec20
--- /dev/null
+++ b/svx/qa/unit/data/tdf141127_defaultSkewAngle.odp
Binary files differ