diff options
Diffstat (limited to 'ellipse.cpp')
| -rw-r--r-- | ellipse.cpp | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/ellipse.cpp b/ellipse.cpp index 0377b66..dc0f4f8 100644 --- a/ellipse.cpp +++ b/ellipse.cpp @@ -1,22 +1,11 @@ #include "ellipse.h" Ellipse::Ellipse() + :Rectangle() { } -bool Ellipse::isHit(const QPoint &clickPoint) -{ - QVector3D a(p2() - p1()); - QVector3D r1(p1()); - - QVector3D rq(clickPoint); - - float dist = rq.distanceToLine(r1, a.normalized()); - - return dist < 5; -} - void Ellipse::draw(QPainter *painter) { if (m_selected) @@ -25,10 +14,10 @@ void Ellipse::draw(QPainter *painter) penTemp.setColor(Qt::red); painter->setPen(penTemp); - painter->drawEllipse(QPoint(p1().rx() - (p2().rx() - p1().rx()), p1().ry()), 5, 5); - painter->drawEllipse(QPoint(p1().rx() + (p2().rx() - p1().rx()), p1().ry()), 5, 5); - painter->drawEllipse(QPoint(p1().rx(), p1().ry() + (p2().ry() - p1().ry())), 5, 5); - painter->drawEllipse(QPoint(p1().rx(), p1().ry() - (p2().ry() - p1().ry())), 5, 5); + painter->drawEllipse(m_rectangle.topLeft(), 5, 5); + painter->drawEllipse(m_rectangle.topRight(), 5, 5); + painter->drawEllipse(m_rectangle.bottomLeft(), 5, 5); + painter->drawEllipse(m_rectangle.bottomRight(), 5, 5); } else { @@ -37,5 +26,5 @@ void Ellipse::draw(QPainter *painter) painter->setPen(penNormal); } - painter->drawEllipse(p1(), p2().rx() - p1().rx(), p2().ry() - p1().ry()); + painter->drawEllipse(m_rectangle); } |
