diff options
author | merttumer <mert.tumer@collabora.com> | 2021-03-24 12:06:08 +0300 |
---|---|---|
committer | Mert Tumer <mert.tumer@collabora.com> | 2021-04-20 04:32:22 +0200 |
commit | 2a91d96591001c83cac56e924fc6748c7900f7e5 (patch) | |
tree | 8d8bbd96eda8bc626f0a0b95ce88dc3374f8582d /svx | |
parent | c853d446a7cd8a8436cb5f43bbf81a723bd86c99 (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>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114026
Tested-by: Jenkins
Diffstat (limited to 'svx')
-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 9807a53bd99e..6cbba5494070 100644 --- a/svx/source/svdraw/svddrgv.cxx +++ b/svx/source/svdraw/svddrgv.cxx @@ -36,6 +36,7 @@ #include <svx/sdr/overlay/overlaymanager.hxx> #include <svx/sdrpagewindow.hxx> #include <osl/diagnose.h> +#include <comphelper/lok.hxx> using namespace sdr; @@ -206,10 +207,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())); @@ -508,10 +511,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())); |