Kaydet (Commit) dd6de340 authored tarafından Andras Timar's avatar Andras Timar Kaydeden (comit) Miklos Vajna

tdf#93830 txXfrm offset workaround works in rounded rectangle case as well

Change-Id: I5d8df5c0d55e8dfd7c978b16b2b220c127f3dac9
Reviewed-on: https://gerrit.libreoffice.org/18226Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarAndras Timar <andras.timar@collabora.com>
(cherry picked from commit cc88a88c)
Reviewed-on: https://gerrit.libreoffice.org/18270Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
üst 448680d1
......@@ -66,7 +66,8 @@ ContextHandlerRef Transform2DContext::onCreateContext( sal_Int32 aElementToken,
{
const OUString sXValue = rAttribs.getString( XML_x ).get();
const OUString sYValue = rAttribs.getString( XML_y ).get();
if( !sXValue.isEmpty() && nType == XML_rect )
if( !sXValue.isEmpty() )
mrShape.getTextBody()->getTextProperties().moTextOffLeft = GetCoordinate( sXValue.toInt32() - mrShape.getPosition().X );
if( !sYValue.isEmpty() )
mrShape.getTextBody()->getTextProperties().moTextOffUpper = GetCoordinate( sYValue.toInt32() - mrShape.getPosition().Y );
......
......@@ -104,6 +104,7 @@ public:
void testBulletSuffix();
void testBnc910045();
void testRowHeight();
void testTdf93830();
CPPUNIT_TEST_SUITE(SdImportTest);
......@@ -143,6 +144,7 @@ public:
CPPUNIT_TEST(testBulletSuffix);
CPPUNIT_TEST(testBnc910045);
CPPUNIT_TEST(testRowHeight);
CPPUNIT_TEST(testTdf93830);
CPPUNIT_TEST_SUITE_END();
};
......@@ -1200,6 +1202,29 @@ void SdImportTest::testRowHeight()
CPPUNIT_ASSERT_EQUAL( sal_Int32(508), nHeight);
}
void SdImportTest::testTdf93830()
{
// Text shape offset was ignored
sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/pptx/tdf93830.pptx"), PPTX);
uno::Reference< drawing::XDrawPagesSupplier > xDoc(
xDocShRef->GetDoc()->getUnoModel(), uno::UNO_QUERY_THROW );
uno::Reference< drawing::XDrawPage > xPage(
xDoc->getDrawPages()->getByIndex(0), uno::UNO_QUERY_THROW );
// Get the first text box from group shape
uno::Reference< container::XIndexAccess > xShape( xPage->getByIndex(0), uno::UNO_QUERY );
uno::Reference< beans::XPropertySet > xPropSet( xShape->getByIndex(2), uno::UNO_QUERY );
CPPUNIT_ASSERT_MESSAGE( "no textbox shape", xPropSet.is() );
sal_Int32 nTextLeftDistance = 0;
xPropSet->getPropertyValue( "TextLeftDistance" ) >>= nTextLeftDistance;
CPPUNIT_ASSERT_EQUAL(sal_Int32(4152), nTextLeftDistance);
xDocShRef->DoClose();
}
CPPUNIT_TEST_SUITE_REGISTRATION(SdImportTest);
CPPUNIT_PLUGIN_IMPLEMENT();
......
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