From 45813562e266cf8e58ea9cb04f655bbb542a555e Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Sun, 31 May 2015 22:55:45 +0200 Subject: Make every line subclass editable --- line.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'line.cpp') diff --git a/line.cpp b/line.cpp index d569c0c..5f7e171 100644 --- a/line.cpp +++ b/line.cpp @@ -44,3 +44,25 @@ void Line::draw(QPainter *painter) painter->drawLine(p1(), p2()); } + +void Line::move(const QPoint &oldPoint, const QPoint &newPoint) +{ + if(m_selected) + { + QPoint offset = newPoint - oldPoint; + QVector3D vecOld(oldPoint); + if(vecOld.distanceToPoint(QVector3D(p1())) < 5) + { + setP1(p1() + offset); + } + else if(vecOld.distanceToPoint(QVector3D(p2())) < 5) + { + setP2(p2() + offset); + } + else + { + setP1(p1() + offset); + setP2(p2() + offset); + } + } +} -- cgit v1.2.3-70-g09d2