]> git.sesse.net Git - kdenlive/blobdiff - src/abstractclipitem.h
Add subclips (dragging a zone from clip monitor to project tree)
[kdenlive] / src / abstractclipitem.h
index 47a66631ccefcc4de023fc3a55d0ab2fd9aa616e..e49d0db7e456b95087479611761ec5e2748a2e47 100644 (file)
 #define ABSTRACTCLIPITEM
 
 #include <QGraphicsRectItem>
+#include <QGraphicsWidget>
+
+#if QT_VERSION >= 0x040600
+#include <QPropertyAnimation>
+#endif
+
 #include "definitions.h"
 #include "gentime.h"
 
 class CustomTrackScene;
 class QGraphicsSceneMouseEvent;
 
-class AbstractClipItem : public QObject , public QGraphicsRectItem
+class AbstractClipItem : public QObject, public QGraphicsRectItem
 {
     Q_OBJECT
+#if QT_VERSION >= 0x040600
+    Q_PROPERTY(QRectF rect READ rect WRITE setRect)
+#endif
+
 public:
     AbstractClipItem(const ItemInfo info, const QRectF& rect, double fps);
+    virtual ~ AbstractClipItem();
     void updateSelectedKeyFrame();
     void updateKeyFramePos(const GenTime pos, const double value);
     void addKeyFrame(const GenTime pos, const double value);
@@ -46,27 +57,31 @@ public:
     void updateItem();
     void setItemLocked(bool locked);
     bool isItemLocked() const;
+    void closeAnimation();
 
     virtual  OPERATIONTYPE operationMode(QPointF pos) = 0;
     virtual GenTime startPos() const ;
     virtual void setTrack(int track);
     virtual GenTime endPos() const ;
+    virtual int defaultZValue() const ;
     virtual int track() const ;
     virtual GenTime cropStart() const ;
     virtual GenTime cropDuration() const ;
-    virtual void resizeStart(int posx, double speed = 1.0);
-    virtual void resizeEnd(int posx, double speed = 1.0);
+    virtual void resizeStart(int posx);
+    virtual void resizeEnd(int posx);
     virtual double fps() const;
+    virtual void updateFps(double fps);
     virtual GenTime maxDuration() const;
     virtual void setCropStart(GenTime pos);
 
 protected:
-    int m_track;
+    ItemInfo m_info;
+//    int m_track;
     int m_editedKeyframe;
     int m_selectedKeyframe;
-    GenTime m_cropStart;
-    GenTime m_cropDuration;
-    GenTime m_startPos;
+    /*    GenTime m_cropStart;
+        GenTime m_cropDuration;
+        GenTime m_startPos;*/
     GenTime m_maxDuration;
     QMap <int, int> m_keyframes;
     double m_keyframeFactor;
@@ -76,6 +91,11 @@ protected:
     void drawKeyFrames(QPainter *painter, QRectF exposedRect);
     int mouseOverKeyFrames(QPointF pos, double maxOffset);
     virtual void mousePressEvent(QGraphicsSceneMouseEvent * event);
+
+private:
+#if QT_VERSION >= 0x040600
+    QPropertyAnimation *m_closeAnimation;
+#endif
 };
 
 #endif