X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fkeyframehelper.h;h=a3d7b28d964b6614545056581ad1ccac47c67d91;hb=3b8469402b87f4af7176e470536364f25af63618;hp=0b295650f4e429b9cfd4a298d225077b8f7f12a0;hpb=86f48752dddaf2157dc7cf94a2ef96ae53049c1e;p=kdenlive diff --git a/src/keyframehelper.h b/src/keyframehelper.h index 0b295650..a3d7b28d 100644 --- a/src/keyframehelper.h +++ b/src/keyframehelper.h @@ -27,31 +27,50 @@ #include "timecode.h" -class KeyframeHelper : public QWidget { +class KeyframeHelper : public QWidget +{ Q_OBJECT - public: KeyframeHelper(QWidget *parent = 0); - const int value() const; + 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); + virtual 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 m_extraMovingItems; + QPoint m_dragStart; + int m_lineHeight; + bool m_drag; + int m_hoverKeyframe; + QColor m_selected; + QColor m_keyframe; + QColor m_keyframebg; + QList 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