]> 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 445b53b42149c7fe03eb932dcb5fa20eae51c645..088fa15a4c220461b3023b67914fb405c244c9b0 100644 (file)
@@ -23,7 +23,6 @@
 #include <QPixmap>
 #include <QDomElement>
 #include <QMap>
-#include <QLinearGradient>
 
 #include "gentime.h"
 #include "definitions.h"
 
 class ClipItem;
 
-class Transition : public AbstractClipItem {
+class Transition : public AbstractClipItem
+{
     Q_OBJECT
 public:
 
-    Transition(const ItemInfo info, int transitiontrack, double scale, double fps, 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,
@@ -51,29 +51,37 @@ public:
 
     /** 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;
-    QLinearGradient m_gradient;
     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 */