summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2013-06-14 11:23:13 +0200
committerMiklos Vajna <vmiklos@suse.cz>2013-06-15 10:45:11 +0200
commit559d194d80a20b17ba6aa6f94a7749bcc59c871e (patch)
tree7213ad3b6ab2201d4274d82164eab60c4db3088b /sw
parent4f4bc1ffc02ea1e0a18942322fdb0ade597c392c (diff)
fdo#58819 DOCX VML export: fix shape size for rotated shapes
The problem is that we wrote the size of the shape itself, while VML wants the bounding box here. The WW8 export ignores the rectangle given in EscherEx::Commit(), uses SdrObject::GetSnapRect() instead and later refines the position by using the point got in WW8AttributeOutput::OutputFlyFrame_Impl(), see PlcDrawObj::WritePlc(). Do the same in the VML export, i.e. ignore the Rectangle we get in VMLExport::Commit() and use SdrObject::GetSnapRect() + the point given in DocxAttributeOutput::OutputFlyFrame_Impl() instead. Change-Id: I5adbdf205792c87f92c1ddf1cf674f87e11eb54e
Diffstat (limited to 'sw')
-rw-r--r--sw/source/filter/ww8/docxattributeoutput.cxx7
1 files changed, 5 insertions, 2 deletions
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx
index b2aa7f3ff7ad..d2049fc4def9 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -2689,7 +2689,7 @@ void DocxAttributeOutput::WritePostponedMath()
m_postponedMath = NULL;
}
-void DocxAttributeOutput::OutputFlyFrame_Impl( const sw::Frame &rFrame, const Point& /*rNdTopLeft*/ )
+void DocxAttributeOutput::OutputFlyFrame_Impl( const sw::Frame &rFrame, const Point& rNdTopLeft )
{
m_pSerializer->mark();
@@ -2735,7 +2735,10 @@ void DocxAttributeOutput::OutputFlyFrame_Impl( const sw::Frame &rFrame, const Po
const SwFrmFmt& rFrmFmt = rFrame.GetFrmFmt();
SwFmtHoriOrient rHoriOri = rFrmFmt.GetHoriOrient();
SwFmtVertOrient rVertOri = rFrmFmt.GetVertOrient();
- m_rExport.VMLExporter().AddSdrObject( *pSdrObj, rHoriOri.GetHoriOrient(), rVertOri.GetVertOrient(), rHoriOri.GetRelationOrient(), rVertOri.GetRelationOrient() );
+ m_rExport.VMLExporter().AddSdrObject( *pSdrObj,
+ rHoriOri.GetHoriOrient(), rVertOri.GetVertOrient(),
+ rHoriOri.GetRelationOrient(),
+ rVertOri.GetRelationOrient(), &rNdTopLeft );
m_pSerializer->endElementNS( XML_w, XML_pict );