diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2013-06-14 11:23:13 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2013-06-15 10:45:11 +0200 |
commit | 559d194d80a20b17ba6aa6f94a7749bcc59c871e (patch) | |
tree | 7213ad3b6ab2201d4274d82164eab60c4db3088b /sw | |
parent | 4f4bc1ffc02ea1e0a18942322fdb0ade597c392c (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.cxx | 7 |
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 ); |