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);
+ 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;
- int m_length;
int m_position;
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);
};
#endif