summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authormert <mert.tumer@collabora.com>2021-02-23 10:45:51 +0300
committerMert Tumer <mert.tumer@collabora.com>2021-02-26 04:37:56 +0100
commit958928086652c6a1c48663aa45e97f387fcf0b31 (patch)
tree0712005e478bfdc1f5ad045375ae1f2e665d11e3 /svx
parent389cfb583f3a18d9921f2ca9e4dfae22c01c754e (diff)
Implemented MoveShapeHandle method
This method will be shared among 3 modules via uno:MoveShapeHandle uno command Change-Id: I921a1f7f004e2004e142954b40b4b93282eb8fed Signed-off-by: mert <mert.tumer@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111373 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111507 Tested-by: Jenkins
Diffstat (limited to 'svx')
-rw-r--r--svx/source/svdraw/svdview.cxx35
1 files changed, 35 insertions, 0 deletions
diff --git a/svx/source/svdraw/svdview.cxx b/svx/source/svdraw/svdview.cxx
index f591334dea08..6e26091a8e43 100644
--- a/svx/source/svdraw/svdview.cxx
+++ b/svx/source/svdraw/svdview.cxx
@@ -1407,6 +1407,41 @@ bool SdrView::BegMark(const Point& rPnt, bool bAddMark, bool bUnmark)
}
}
+bool SdrView::MoveShapeHandle(const sal_uInt32 handleNum, const Point& aEndPoint)
+{
+ if (!GetMarkedObjectList().GetMarkCount())
+ return false;
+
+ SdrHdl * pHdl = GetHdlList().GetHdl(handleNum);
+ if (pHdl == nullptr)
+ return false;
+
+ const SdrDragStat& rDragStat = GetDragStat();
+ // start dragging
+ BegDragObj(pHdl->GetPos(), nullptr, pHdl, 0);
+ if (!IsDragObj())
+ return false;
+
+ bool bWasNoSnap = rDragStat.IsNoSnap();
+ bool bWasSnapEnabled = IsSnapEnabled();
+
+ // switch snapping off
+ if(!bWasNoSnap)
+ const_cast<SdrDragStat&>(rDragStat).SetNoSnap();
+ if(bWasSnapEnabled)
+ SetSnapEnabled(false);
+
+ MovAction(aEndPoint);
+ EndDragObj();
+
+ if (!bWasNoSnap)
+ const_cast<SdrDragStat&>(rDragStat).SetNoSnap(bWasNoSnap);
+ if (bWasSnapEnabled)
+ SetSnapEnabled(bWasSnapEnabled);
+
+ return true;
+}
+
void SdrView::ConfigurationChanged( ::utl::ConfigurationBroadcaster*p, ConfigurationHints nHint)
{
onAccessibilityOptionsChanged();