]> git.sesse.net Git - kdenlive/blobdiff - src/onmonitoritems/rotoscoping/splineitem.h
Still const'ref. Minor optimization
[kdenlive] / src / onmonitoritems / rotoscoping / splineitem.h
index f2e7562a40a7d6cd7ce2951600e948a789264b80..376c622344c854e5ecf064dd49ca084fba32383b 100644 (file)
 #include <QGraphicsPathItem>
 
 class BPoint;
+class QGraphicsView;
 
 class SplineItem : public QObject, public QGraphicsPathItem
 {
     Q_OBJECT
 
 public:
-    SplineItem(const QList <BPoint> &points, QGraphicsItem* parent = 0, QGraphicsScene *scene = 0);
+    explicit SplineItem(const QList <BPoint> &points, QGraphicsItem* parent = 0, QGraphicsScene *scene = 0);
 
     enum { Type = UserType + 10 };
 
     virtual int type() const;
 
-    void updateSpline();
+    bool editing();
+
+    void updateSpline(bool editing = false);
     QList <BPoint> getPoints();
+    void setPoints(const QList <BPoint> &points);
 
     void removeChild(QGraphicsItem *child);
 
@@ -47,12 +51,14 @@ protected:
     virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
 
 private:
-    int getClosestPointOnCurve(QPointF point, double *tFinal);
+    int getClosestPointOnCurve(const QPointF &point, double *tFinal);
 
     bool m_closed;
+    bool m_editing;
+    QGraphicsView *m_view;
 
 signals:
-    void changed();
+    void changed(bool editing);
 };
 
 #endif