summaryrefslogtreecommitdiffstats
path: root/line.cpp
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2015-05-31 22:55:45 +0200
committerStefan Suhren <suhren.stefan@fh-swf.de>2015-05-31 22:55:45 +0200
commit45813562e266cf8e58ea9cb04f655bbb542a555e (patch)
treec8864c50a1bd84ec8f2e8e527e71c9825fabf92a /line.cpp
parent16cdefa1a8546d23efc357010e62c7c031319e56 (diff)
downloadGUI_SS2015-45813562e266cf8e58ea9cb04f655bbb542a555e.tar.gz
GUI_SS2015-45813562e266cf8e58ea9cb04f655bbb542a555e.zip
Make every line subclass editable
Diffstat (limited to 'line.cpp')
-rw-r--r--line.cpp22
1 files changed, 22 insertions, 0 deletions
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);
+ }
+ }
+}