diff options
author | merttumer <mert.tumer@collabora.com> | 2021-03-24 12:06:08 +0300 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2021-03-29 14:06:22 +0200 |
commit | a4081f31d3b058c0016adb8b2cb83a64221cb3bc (patch) | |
tree | ee579efc37c1892ba4caff2f89f3321ec9e0cda8 | |
parent | 4d1348edad5f884dd4d15d3c10cf935ba0100be1 (diff) |
LOK: Fix Moving drag handles calculates wrong offset
When dragging the shape handles for resizing,
the handle's grid offset must be the shapes grid
offset. In small numbered row&column orders, it is
not visible much since the difference is very little
but as the number gets greater, the difference becomes more visible.
Change-Id: I44d03cc67a239c8b7758206930def331ed8e5e42
Signed-off-by: merttumer <mert.tumer@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113028
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
-rw-r--r-- | svx/source/svdraw/svddrgv.cxx | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/svx/source/svdraw/svddrgv.cxx b/svx/source/svdraw/svddrgv.cxx index e807b0a65610..78a065ff9fc5 100644 --- a/svx/source/svdraw/svddrgv.cxx +++ b/svx/source/svdraw/svddrgv.cxx @@ -41,6 +41,7 @@ #include <basegfx/matrix/b2dhommatrix.hxx> #include <svx/sdr/overlay/overlaymanager.hxx> #include <svx/sdrpagewindow.hxx> +#include <comphelper/lok.hxx> using namespace sdr; @@ -225,10 +226,12 @@ bool SdrDragView::BegDragObj(const Point& rPnt, OutputDevice* pOut, SdrHdl* pHdl // Coordinate maybe affected by GridOffset, so we may need to // adapt to Model-coordinates here - if(getPossibleGridOffsetForPosition( + if((comphelper::LibreOfficeKit::isActive() && mpMarkedObj + && getPossibleGridOffsetForSdrObject(aGridOffset, GetMarkedObjectByIndex(0), GetSdrPageView())) + || (getPossibleGridOffsetForPosition( aGridOffset, basegfx::B2DPoint(aPnt.X(), aPnt.Y()), - GetSdrPageView())) + GetSdrPageView()))) { aPnt.AdjustX(basegfx::fround(-aGridOffset.getX())); aPnt.AdjustY(basegfx::fround(-aGridOffset.getY())); @@ -526,10 +529,12 @@ void SdrDragView::MovDragObj(const Point& rPnt) // Coordinate maybe affected by GridOffset, so we may need to // adapt to Model-coordinates here - if(getPossibleGridOffsetForPosition( + if((comphelper::LibreOfficeKit::isActive() && mpMarkedObj + && getPossibleGridOffsetForSdrObject(aGridOffset, GetMarkedObjectByIndex(0), GetSdrPageView())) + || (getPossibleGridOffsetForPosition( aGridOffset, basegfx::B2DPoint(aPnt.X(), aPnt.Y()), - GetSdrPageView())) + GetSdrPageView()))) { aPnt.AdjustX(basegfx::fround(-aGridOffset.getX())); aPnt.AdjustY(basegfx::fround(-aGridOffset.getY())); |