diff options
author | Lennard <Wasserthal@nefkom.net> | 2012-09-23 20:56:39 +0200 |
---|---|---|
committer | Radek Doulík <rodo@novell.com> | 2012-09-26 07:38:51 +0000 |
commit | d9f21c90bd61d15fd78a8df9115bf2e9ededbd1b (patch) | |
tree | 81d678672eec9359940333ae5a55089a9470b15e /svx/source | |
parent | 7d5630394904360413de69588084b088d5df9004 (diff) |
Fixes Circular arrow distortion, Bug #46272
Distortion occurred when angle mod 90° != 0
All of my past & future contributions to LibreOffice may be
licensed under the MPL/LGPLv3+ dual license
- Lennard Wasserthal
Change-Id: I4af7e7f1dcbc4d1262592c362532df4957e52399
Signed-off-by: Lennard <Wasserthal@nefkom.net>
Reviewed-on: https://gerrit.libreoffice.org/679
Reviewed-by: Radek Doulík <rodo@novell.com>
Tested-by: Radek Doulík <rodo@novell.com>
Diffstat (limited to 'svx/source')
-rw-r--r-- | svx/source/customshapes/EnhancedCustomShape2d.cxx | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/svx/source/customshapes/EnhancedCustomShape2d.cxx b/svx/source/customshapes/EnhancedCustomShape2d.cxx index 08762bb1418f..63421f8aa59f 100644 --- a/svx/source/customshapes/EnhancedCustomShape2d.cxx +++ b/svx/source/customshapes/EnhancedCustomShape2d.cxx @@ -1725,10 +1725,9 @@ void EnhancedCustomShape2d::CreateSubPath( sal_uInt16& rSrcPt, sal_uInt16& rSegm Point aCenter( aRect.Center() ); Point aStart( GetPoint( seqCoordinates[ (sal_uInt16)( rSrcPt + nXor ) ], sal_True, sal_True ) ); Point aEnd( GetPoint( seqCoordinates[ (sal_uInt16)( rSrcPt + ( nXor ^ 1 ) ) ], sal_True, sal_True ) ); - double fRatio = (double)aRect.GetHeight() / (double)aRect.GetWidth(); - aStart.X() = (sal_Int32)( ( (double)( aStart.X() - aCenter.X() ) ) * fRatio ) + aCenter.X(); + aStart.X() = (sal_Int32)( ( (double)( aStart.X() - aCenter.X() ) ) ) + aCenter.X(); aStart.Y() = (sal_Int32)( ( (double)( aStart.Y() - aCenter.Y() ) ) ) + aCenter.Y(); - aEnd.X() = (sal_Int32)( ( (double)( aEnd.X() - aCenter.X() ) ) * fRatio ) + aCenter.X(); + aEnd.X() = (sal_Int32)( ( (double)( aEnd.X() - aCenter.X() ) ) ) + aCenter.X(); aEnd.Y() = (sal_Int32)( ( (double)( aEnd.Y() - aCenter.Y() ) ) ) + aCenter.Y(); aNewB2DPolygon.append(CreateArc( aRect, aStart, aEnd, bClockwise)); } |