]> git.sesse.net Git - kdenlive/blobdiff - src/transition.h
Integrate with the required MLT hooks for getting Movit to work.
[kdenlive] / src / transition.h
index cf5ad84b6649ae5cb660c2002dffdc704dcb759d..4f9378181eb6ed91dc74045b7b7221187c85324b 100644 (file)
@@ -41,7 +41,7 @@ class Transition : public AbstractClipItem
     Q_OBJECT
 public:
 
-    Transition(const ItemInfo info, int transitiontrack, double fps, QDomElement params = QDomElement(), bool automaticTransition = false);
+    Transition(const ItemInfo &info, int transitiontrack, double fps, const QDomElement &params = QDomElement(), bool automaticTransition = false);
     virtual ~Transition();
     virtual void paint(QPainter *painter,
                        const QStyleOptionGraphicsItem *option,
@@ -53,18 +53,14 @@ public:
 
     /** @brief Returns the track number of the transition in the playlist. */
     int transitionEndTrack() const;
-    bool hasClip(const ClipItem * clip) const;
-    bool belongsToClip(const ClipItem * clip) const;
-    bool invertedTransition() const;
     QString transitionTag() const;
     QStringList transitionInfo() const;
-    OPERATIONTYPE operationMode(QPointF pos);
+    OperationType operationMode(const QPointF &pos);
+    static int itemHeight();
+    static int itemOffset();
     //const QMap < QString, QString > transitionParameters() const;
-    void setTransitionParameters(const QDomElement params);
-    void setTransitionDirection(bool inv);
+    void setTransitionParameters(const QDomElement &params);
     void setTransitionTrack(int track);
-    //Transition *reparent(ClipItem * clip);
-    bool isValid() const;
 
     /** @brief Links the transition to another track.
      *
@@ -72,12 +68,15 @@ public:
     void updateTransitionEndTrack(int newtrack);
     void setForcedTrack(bool force, int track);
     bool forcedTrack() const;
-    const ClipItem *referencedClip() const;
     Transition *clone();
     bool isAutomatic() const;
     void setAutomatic(bool automatic);
     bool hasGeometry();
     int defaultZValue() const;
+    /** @brief When a transition is resized, check if keyframes are out of the transition and fix if necessary. 
+     * @param oldEnd the previous transition end, so that when we expand the transition, if there is a keyframe at end we move it
+     */
+    bool updateKeyframes(int oldEnd);
 
 protected:
     virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
@@ -92,22 +91,13 @@ private:
     /** @brief Contains the transition parameters. */
     QDomElement m_parameters;
 
-    /** @brief The clip to which the transition is attached. */
-    ClipItem *m_referenceClip;
-
-    /** @brief The second clip to which the transition is attached. */
-    ClipItem *m_secondClip;
     int m_transitionTrack;
 
     /** @brief Returns the display name for a transition type. */
-    QString getTransitionName(const TRANSITIONTYPE & type);
+    QString getTransitionName(const TransitionType & type);
 
     /** @brief Returns the transition type for a given name. */
-    TRANSITIONTYPE getTransitionForName(const QString & type);
-
-#if QT_VERSION >= 0x040600
-    QPropertyAnimation *m_startAnimation;
-#endif
+    TransitionType getTransitionForName(const QString & type);
 };
 
 #endif