summaryrefslogtreecommitdiff
path: root/oox/source/export/drawingml.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'oox/source/export/drawingml.cxx')
-rw-r--r--oox/source/export/drawingml.cxx36
1 files changed, 4 insertions, 32 deletions
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index e0fc6dbae783..b19042e1c140 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -1345,17 +1345,11 @@ void DrawingML::WriteShapeTransformation( const Reference< XShape >& rXShape, sa
bFlipH = bFlipH && !bFlippedBeforeRotation;
bFlipV = bFlipV && !bFlippedBeforeRotation;
- bool bPositiveY = true;
- bool bPositiveX = true;
-
if (GetDocumentType() == DOCUMENT_DOCX && m_xParent.is())
{
awt::Point aParentPos = m_xParent->getPosition();
aPos.X -= aParentPos.X;
aPos.Y -= aParentPos.Y;
-
- bPositiveX = aParentPos.X >= 0;
- bPositiveY = aParentPos.Y >= 0;
}
if ( aSize.Width < 0 )
@@ -1366,24 +1360,13 @@ void DrawingML::WriteShapeTransformation( const Reference< XShape >& rXShape, sa
{
SdrObject* pShape = GetSdrObjectFromXShape( rXShape );
nRotation = pShape ? pShape->GetRotateAngle() : 0;
- if (nRotation != 0 && nRotation != 18000)
+ if ( nRotation != 0 && GetDocumentType() != DOCUMENT_DOCX )
{
int faccos=bFlipV ? -1 : 1;
int facsin=bFlipH ? -1 : 1;
aPos.X-=(1-faccos*cos(nRotation*F_PI18000))*aSize.Width/2-facsin*sin(nRotation*F_PI18000)*aSize.Height/2;
aPos.Y-=(1-faccos*cos(nRotation*F_PI18000))*aSize.Height/2+facsin*sin(nRotation*F_PI18000)*aSize.Width/2;
}
- else if ( nRotation == 18000 && IsGroupShape( rXShape, /*bOrChildShape=*/true ) )
- {
- if (!bFlipV && bPositiveX)
- {
- aPos.X -= aSize.Width;
- }
- if (!bFlipH && bPositiveY)
- {
- aPos.Y -= aSize.Height;
- }
- }
// The RotateAngle property's value is independent from any flipping, and that's exactly what we need here.
uno::Reference<beans::XPropertySet> xPropertySet(rXShape, uno::UNO_QUERY);
@@ -2080,21 +2063,10 @@ void DrawingML::WriteParagraphNumbering(const Reference< XPropertySet >& rXPropS
}
}
-bool DrawingML::IsInGroupShape () const
-{
- bool bRet = m_xParent.is();
- if ( bRet )
- {
- uno::Reference<lang::XServiceInfo> xServiceInfo(m_xParent, uno::UNO_QUERY_THROW);
- bRet = xServiceInfo->supportsService("com.sun.star.drawing.GroupShape");
- }
- return bRet;
-}
-
-bool DrawingML::IsGroupShape( const Reference< XShape >& rXShape, bool bOrChildShape ) const
+bool DrawingML::IsGroupShape( const Reference< XShape >& rXShape ) const
{
- bool bRet = bOrChildShape && IsInGroupShape();
- if ( !bRet && rXShape.is() )
+ bool bRet = false;
+ if ( rXShape.is() )
{
uno::Reference<lang::XServiceInfo> xServiceInfo(rXShape, uno::UNO_QUERY_THROW);
bRet = xServiceInfo->supportsService("com.sun.star.drawing.GroupShape");