From: Till Theato Date: Fri, 31 Dec 2010 16:41:48 +0000 (+0000) Subject: Bézier spline widget: X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=9ccc1380f6c78f3eee6ea9ae63414ceea4ba539d;p=kdenlive Bézier spline widget: - use rotated (90°) rectangle for handles - highlight selected point svn path=/trunk/kdenlive/; revision=5226 --- diff --git a/src/beziercurve/beziersplinewidget.cpp b/src/beziercurve/beziersplinewidget.cpp index 3ec2bc2a..8cfab986 100644 --- a/src/beziercurve/beziersplinewidget.cpp +++ b/src/beziercurve/beziersplinewidget.cpp @@ -86,14 +86,24 @@ void BezierSplineWidget::paintEvent(QPaintEvent* event) // Drawing curve handles. p.setPen(QPen(Qt::red, 1, Qt::SolidLine)); BPoint point; + QPolygon handle(4); + handle.setPoints(4, + 0, 0, + 3, 3, + 0, 6, + -3, 3); for (int i = 0; i < m_spline.points().count(); ++i) { point = m_spline.points().at(i); - p.drawEllipse(QRectF(point.h1.x() * wWidth - 3, - wHeight - 3 - point.h1.y() * wHeight, 6, 6)); + if (i == m_currentPointIndex) + p.setBrush(QBrush(QColor(Qt::red), Qt::SolidPattern)); + + p.drawPolygon(handle.translated(point.h1.x() * wWidth, wHeight - point.h1.y() * wHeight)); p.drawEllipse(QRectF(point.p.x() * wWidth - 3, - wHeight - 3 - point.p.y() * wHeight, 6, 6)); - p.drawEllipse(QRectF(point.h2.x() * wWidth - 3, - wHeight - 3 - point.h2.y() * wHeight, 6, 6)); + wHeight - 3 - point.p.y() * wHeight, 6, 6)); + p.drawPolygon(handle.translated(point.h2.x() * wWidth, wHeight - point.h2.y() * wHeight)); + + if ( i == m_currentPointIndex) + p.setBrush(QBrush(Qt::NoBrush)); } }