fdo#37401 - fixed the old vector length

The center-left point in the area is used to calculate the old vector length but the coordinate was incorrect.

Change-Id: I81a88182d11e30ee7a5caee3eac879b082bff160
Reviewed-on: https://gerrit.libreoffice.org/9887
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 03675ab4a8994cb7000fd738d1685720c8b9e584)

Related: fdo#37401 adjust fix to original aCenter use

i.e. as far as I can see the bug came about during....

commit 74cb1c4cb5f72fd8cf80c6d144eda00841394647
Author: Ivo Hinkelmann <ihi@openoffice.org>
Date:   Tue Nov 14 12:37:46 2006 +0000

with

2006/10/27 12:14:08 aw 1.2.1208.5: #i39528# ::basegfx -> basegfx adaption

in

-                Vector2D aFullVec(aStartPos - aEndPos);
-                Vector2D aOldVec(Vector2D(aRect.Left(), aCenter.Y()) - aRect.TopLeft());
                                                         ^^^^^^^^^^^
-                double fFullLen = aFullVec.GetLength();
-                double fOldLen = aOldVec.GetLength();
-                double fNewBorder = (fFullLen * 100.0) / fOldLen;
-                sal_Int32 nNewBorder = 100 - (sal_Int32)(fNewBorder + 0.5);
+                basegfx::B2DVector aFullVec(aStartPos - aEndPos);
+                const basegfx::B2DPoint aTopLeft(aRange.getMinX(), aRange.getMinY());
+                const basegfx::B2DPoint aCenterLeft(aRange.getMinX(), aRange.getHeight());
                                                                       ^^^^^^^^^^^^^^^^^^
+                const basegfx::B2DVector aOldVec(aCenterLeft - aTopLeft);
+                const double fFullLen(aFullVec.getLength());
+                const double fOldLen(aOldVec.getLength());
+                const double fNewBorder((fFullLen * 100.0) / fOldLen);
+                sal_Int32 nNewBorder(100L - FRound(fNewBorder));

Change-Id: I840caa5e49a04f9b6460c4fa8e3731f3e5ebde05
(cherry picked from commit ef16d765306c932c49254f295f57e5853129c1ea)