]> git.sesse.net Git - kdenlive/blobdiff - src/keyframehelper.h
Integrate with the required MLT hooks for getting Movit to work.
[kdenlive] / src / keyframehelper.h
index 39ecb483da00c4e9384da66f683724c2df0963bb..701609bf35ab332353ff3bc5184ea2256eea7473 100644 (file)
@@ -31,17 +31,18 @@ class KeyframeHelper : public QWidget
 {
     Q_OBJECT
 public:
-    KeyframeHelper(QWidget *parent = 0);
+    explicit KeyframeHelper(QWidget *parent = 0);
     int value() const;
     int frameLength;
 
 protected:
-    virtual void paintEvent(QPaintEvent * /*e*/);
-    virtual void wheelEvent(QWheelEvent * e);
-    virtual void mousePressEvent(QMouseEvent * event);
-    virtual void mouseMoveEvent(QMouseEvent * event);
-    virtual void mouseReleaseEvent(QMouseEvent * event);
-    virtual void mouseDoubleClickEvent(QMouseEvent * event);
+    void paintEvent(QPaintEvent * /*e*/);
+    void wheelEvent(QWheelEvent * e);
+    void mousePressEvent(QMouseEvent * event);
+    void mouseMoveEvent(QMouseEvent * event);
+    void mouseReleaseEvent(QMouseEvent * event);
+    void mouseDoubleClickEvent(QMouseEvent * event);
+    void leaveEvent( QEvent * event );
 
 private:
     Mlt::Geometry *m_geom;
@@ -49,15 +50,24 @@ private:
     double m_scale;
     bool m_movingKeyframe;
     Mlt::GeometryItem m_movingItem;
+    QList <Mlt::GeometryItem *> m_extraMovingItems;
     QPoint m_dragStart;
     int m_lineHeight;
-
+    bool m_drag;
+    int m_hoverKeyframe;
+    QColor m_selected;
+    QColor m_keyframe;
+    QColor m_keyframebg;
+    QList <Mlt::Geometry *>m_extraGeometries;
+    int m_seekPosition;
+        
 public slots:
     void setKeyGeometry(Mlt::Geometry *geom, const int length);
+    void addGeometry(Mlt::Geometry *geom);
     void setValue(const int pos);
 
 signals:
-    void positionChanged(int);
+    void requestSeek(int);
     void keyframeMoved(int);
     void addKeyframe(int);
     void removeKeyframe(int);