tdf#123621 sw: fix textbox position according to DOCX
i.e. when spAutoFit is present in DOCX, and size of
the textbox is relative.
See also commit cab956c480
(tdf#112312 DOCX legacy shape export: keep fixed size).
Co-authored-by: Attila Szűcs (NISZ)
Change-Id: I29af97001954ad353a386164b68cd22f6230e3e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98401
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
This commit is contained in:
committed by
László Németh
parent
ac90bb44f5
commit
ee6cd34eb3
BIN
sw/qa/extras/ooxmlexport/data/tdf123621.docx
Normal file
BIN
sw/qa/extras/ooxmlexport/data/tdf123621.docx
Normal file
Binary file not shown.
@@ -236,7 +236,7 @@ DECLARE_OOXMLEXPORT_TEST(testMceNested, "mce-nested.docx")
|
||||
// Vertical position of the shape was incorrect due to incorrect nested mce handling.
|
||||
uno::Reference<beans::XPropertySet> xShape(getShape(1), uno::UNO_QUERY);
|
||||
// positionV's posOffset from the bugdoc, was 0.
|
||||
CPPUNIT_ASSERT(6985 <= getProperty<sal_Int32>(xShape, "VertOrientPosition"));
|
||||
CPPUNIT_ASSERT(6879 <= getProperty<sal_Int32>(xShape, "VertOrientPosition"));
|
||||
// This was -1 (default), make sure the background color is set.
|
||||
CPPUNIT_ASSERT_EQUAL(sal_Int32(0x4f81bd), getProperty<sal_Int32>(xShape, "FillColor"));
|
||||
|
||||
|
@@ -29,6 +29,17 @@ protected:
|
||||
}
|
||||
};
|
||||
|
||||
DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testTdf123621, "tdf123621.docx")
|
||||
{
|
||||
xmlDocUniquePtr pXmlDocument = parseExport("word/document.xml");
|
||||
if (!pXmlDocument)
|
||||
return;
|
||||
|
||||
assertXPathContent(pXmlDocument, "/w:document/w:body/w:p/w:r/mc:AlternateContent/mc:Choice/w:drawing/wp:anchor"
|
||||
"/wp:positionV/wp:posOffset", "1080135");
|
||||
}
|
||||
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testTdf133334_followPgStyle, "tdf133334_followPgStyle.odt")
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(2, getPages());
|
||||
|
@@ -34,6 +34,7 @@
|
||||
#include <viewimp.hxx>
|
||||
#include <textboxhelper.hxx>
|
||||
#include <unomid.h>
|
||||
#include <svx/svdoashp.hxx>
|
||||
|
||||
using namespace ::com::sun::star;
|
||||
|
||||
@@ -681,8 +682,9 @@ SwRect SwAnchoredDrawObject::GetObjBoundRect() const
|
||||
nTargetWidth = nWidth * (*GetDrawObj( )->GetRelativeWidth());
|
||||
}
|
||||
|
||||
auto pObjCustomShape = dynamic_cast<const SdrObjCustomShape*>(GetDrawObj());
|
||||
long nTargetHeight = aCurrObjRect.GetHeight( );
|
||||
if ( GetDrawObj( )->GetRelativeHeight( ) )
|
||||
if ( GetDrawObj( )->GetRelativeHeight( ) && (!pObjCustomShape || !pObjCustomShape->IsAutoGrowHeight()) )
|
||||
{
|
||||
long nHeight = 0;
|
||||
if (GetDrawObj()->GetRelativeHeightRelation() == text::RelOrientation::FRAME)
|
||||
|
Reference in New Issue
Block a user