]> git.sesse.net Git - kdenlive/blobdiff - src/geometrywidget.h
Minor improvements to keyframe widget, allow resetting keyframes
[kdenlive] / src / geometrywidget.h
index d22171bffc5070d4ad54c707bde927266c7afa02..cdd01cd6427a3cfe482ac7f06aeab6d6d52fcc8e 100644 (file)
@@ -33,6 +33,7 @@ class MonitorScene;
 class KeyframeHelper;
 class TimecodeDisplay;
 class OnMonitorRectItem;
+class OnMonitorPathItem;
 class QGraphicsRectItem;
 class DragValue;
 
@@ -56,8 +57,8 @@ public:
     void updateTimecodeFormat();
     /** @brief Sets the size of the original clip. */
     void setFrameSize(QPoint size);
-
     void addParameter(const QDomElement elem);
+    void importKeyframes(const QString &data, int maximum);
 
 public slots:
     /** @brief Sets up the rect and the geometry object.
@@ -67,6 +68,7 @@ public slots:
     void setupParam(const QDomElement elem, int minframe, int maxframe);
     /** @brief Updates position of the local timeline to @param relTimelinePos.  */
     void slotSyncPosition(int relTimelinePos);
+    void slotResetKeyframes();
 
 private:
     Ui::GeometryWidget_UI m_ui;
@@ -81,6 +83,7 @@ private:
     bool m_isEffect;
     MonitorScene *m_scene;
     OnMonitorRectItem *m_rect;
+    OnMonitorPathItem *m_geomPath;
     QGraphicsRectItem *m_previous;
     KeyframeHelper *m_timeline;
     /** Stores the different settings in the MLT geometry format. */
@@ -109,6 +112,8 @@ private slots:
     * @param seek (optional, default = true) Whether to seek timleine & project monitor to pos
     * If pos = -1 (default) the value of m_timePos is used. */
     void slotPositionChanged(int pos = -1, bool seek = true);
+    /** @brief Seeking requested from timeline. */
+    void slotRequestSeek(int pos);
     /** @brief Updates settings after a keyframe was moved to @param pos. */
     void slotKeyframeMoved(int pos);
     /** @brief Adds a keyframe.
@@ -126,10 +131,8 @@ private slots:
     /** @brief Adds or deletes a keyframe depending on whether there is already a keyframe at the current position. */
     void slotAddDeleteKeyframe();
 
-    /** @brief Makes sure the monitor effect scene is only visible if the clip this geometry belongs to is visible.
-    * @param renderPos Postion of the Monitor / Timeline cursor */
-    void slotCheckMonitorPosition(int renderPos);
-
+    /** @brief Updates the Mlt::Geometry path object. */
+    void slotUpdatePath();
     /** @brief Updates the Mlt::Geometry object. */
     void slotUpdateGeometry();
     /** @brief Updates the spinBoxes according to the rect. */
@@ -170,13 +173,11 @@ private slots:
     void slotFitToHeight();
     /** @brief Show / hide previous keyframe in monitor scene. */
     void slotShowPreviousKeyFrame(bool show);
-    /** @brief Switches from normal monitor to monitor scene according to @param show. */
-    void slotShowScene(bool show = true);
 
 signals:
     void parameterChanged();
-    void checkMonitorPosition(int);
     void seekToPos(int);
+    void importClipKeyframes();
 };
 
 #endif