summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRadek Doulik <rodo@novell.com>2012-01-12 11:07:51 +0100
committerRadek Doulik <rodo@novell.com>2012-01-12 11:17:11 +0100
commit1ceb8e1878be513f260c6d7fbe7066627fca0693 (patch)
tree982d0721129ba7acde1c5586f9a8bc6531ced286
parente4cd111fae5f9b781471d4150915bb189eff90ef (diff)
fix ooxml custom shapes with 360 degree arcs
-rw-r--r--svx/source/customshapes/EnhancedCustomShape2d.cxx6
1 files changed, 3 insertions, 3 deletions
diff --git a/svx/source/customshapes/EnhancedCustomShape2d.cxx b/svx/source/customshapes/EnhancedCustomShape2d.cxx
index 948fff53c2e4..ee8a365a46c2 100644
--- a/svx/source/customshapes/EnhancedCustomShape2d.cxx
+++ b/svx/source/customshapes/EnhancedCustomShape2d.cxx
@@ -1407,7 +1407,7 @@ void EnhancedCustomShape2d::SwapStartAndEndArrow( SdrObject* pObj ) //#108274
pObj->SetMergedItem( aLineEndCenter );
}
-basegfx::B2DPolygon CreateArc( const Rectangle& rRect, const Point& rStart, const Point& rEnd, const sal_Bool bClockwise )
+basegfx::B2DPolygon CreateArc( const Rectangle& rRect, const Point& rStart, const Point& rEnd, const sal_Bool bClockwise, sal_Bool bFullCircle = sal_False )
{
Rectangle aRect( rRect );
Point aStart( rStart );
@@ -1430,7 +1430,7 @@ basegfx::B2DPolygon CreateArc( const Rectangle& rRect, const Point& rStart, cons
}
}
- Polygon aTempPoly( aRect, aStart, aEnd, POLY_ARC );
+ Polygon aTempPoly( aRect, aStart, aEnd, POLY_ARC, bFullCircle );
basegfx::B2DPolygon aRetval;
if ( bClockwise )
@@ -1757,7 +1757,7 @@ void EnhancedCustomShape2d::CreateSubPath( sal_uInt16& rSrcPt, sal_uInt16& rSegm
OSL_TRACE("ARCANGLETO rect: %d, %d x %d, %d start: %d, %d end: %d, %d clockwise: %d",
aRect.Left(), aRect.Top(), aRect.Right(), aRect.Bottom(),
aStartPoint.X(), aStartPoint.Y(), aEndPoint.X(), aEndPoint.Y(), bClockwise);
- aNewB2DPolygon.append(CreateArc( aRect, bClockwise ? aEndPoint : aStartPoint, bClockwise ? aStartPoint : aEndPoint, bClockwise));
+ aNewB2DPolygon.append(CreateArc( aRect, bClockwise ? aEndPoint : aStartPoint, bClockwise ? aStartPoint : aEndPoint, bClockwise, aStartPoint == aEndPoint && fSwingAngle > F_PI));
}
rSrcPt += 2;