]> git.sesse.net Git - kdenlive/blobdiff - src/transition.h
Various fixes to improve general stability in Qt 4.5.2
[kdenlive] / src / transition.h
index b52817d0a30305f4bf5133c4af1a5ad9bbaf13b7..088fa15a4c220461b3023b67914fb405c244c9b0 100644 (file)
 #include "definitions.h"
 #include "abstractclipitem.h"
 
+
 /**Describes a Transition, with a name, parameters keyframes, etc.
   *@author Jean-Baptiste Mardelle
   */
 
 class ClipItem;
 
-class Transition : public AbstractClipItem {
+class Transition : public AbstractClipItem
+{
     Q_OBJECT
 public:
 
-    Transition(const ItemInfo info, int transitiontrack, double scale, double fps, QMap <QString, QString> desc, QDomElement params = QDomElement());
+    Transition(const ItemInfo info, int transitiontrack, double fps, QDomElement params = QDomElement(), bool automaticTransition = false);
     virtual ~Transition();
     virtual void paint(QPainter *painter,
                        const QStyleOptionGraphicsItem *option,
                        QWidget *widget);
     virtual int type() const;
     /** Returns an XML representation of this transition. */
-    //QDomElement toXML();
+    QDomElement toXML();
 
     /** Return the track number of transition in the playlist*/
     int transitionEndTrack() const;
-    Transition *clone();
     bool hasClip(const ClipItem * clip) const;
     bool belongsToClip(const ClipItem * clip) const;
     bool invertedTransition() const;
     QString transitionName() const;
     QString transitionTag() const;
-    OPERATIONTYPE operationMode(QPointF pos, double scale);
+    OPERATIONTYPE operationMode(QPointF pos);
     //const QMap < QString, QString > transitionParameters() const;
     void setTransitionParameters(const QDomElement params);
     void setTransitionDirection(bool inv);
     void setTransitionTrack(int track);
-    QPixmap transitionPixmap() const;
     //Transition *reparent(ClipItem * clip);
     bool isValid() const;
-
+    /** Transition should be linked to another track */
+    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();
+
+protected:
+    virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
 
 private:
-    bool m_singleClip;
-    /** contains the transition description (name, tag, description) */
-    QMap <QString, QString> m_description;
+    QString m_name;
+    bool m_forceTransitionTrack;
+
+    /** true if the transition was added automatically and should be moved with its clip */
+    bool m_automaticTransition;
     /** contains the transition parameters */
     QDomElement m_parameters;
     /** The clip to which the transition is attached */