]> git.sesse.net Git - kdenlive/blobdiff - src/abstractclipitem.h
* Clip Markers are now displayed over the clip monitor
[kdenlive] / src / abstractclipitem.h
index cb0554830aaebd36dd12f370852040ca658cdd07..dbc75d4792a21f723ab8fbbe7fe3849c020c4bf8 100644 (file)
 #include "definitions.h"
 #include "gentime.h"
 
+class CustomTrackScene;
+
 class AbstractClipItem : public QObject , public QGraphicsRectItem {
     Q_OBJECT
 public:
     AbstractClipItem(const ItemInfo info, const QRectF& rect, double fps);
     void updateSelectedKeyFrame();
-    void updateKeyFramePos(const QPoint pos);
-    void addKeyFrame(const QPoint pos);
-    bool hasKeyFrames();
+    void updateKeyFramePos(const GenTime pos, const double value);
+    void addKeyFrame(const GenTime pos, const double value);
+    bool hasKeyFrames() const;
+    int selectedKeyFramePos() const;
+    double selectedKeyFrameValue() const;
+    double keyFrameFactor() const;
+    ItemInfo info() const;
+    CustomTrackScene* projectScene();
+    void updateRectGeometry();
 
-    virtual  OPERATIONTYPE operationMode(QPointF pos, double scale) = 0;
+    virtual  OPERATIONTYPE operationMode(QPointF pos) = 0;
     virtual GenTime startPos() const ;
     virtual void setTrack(int track);
     virtual GenTime endPos() const ;
     virtual int track() const ;
-    virtual void moveTo(int x, double scale, int offset, int newTrack);
     virtual GenTime cropStart() const ;
-    virtual  void resizeStart(int posx, double scale);
-    virtual void resizeEnd(int posx, double scale);
+    virtual GenTime cropDuration() const ;
+    virtual void resizeStart(int posx, double speed = 1.0);
+    virtual void resizeEnd(int posx, double speed = 1.0, bool updateKeyFrames = true);
     virtual GenTime duration() const;
     virtual double fps() const;
     virtual GenTime maxDuration() const;
     virtual void setCropStart(GenTime pos);
+    virtual void setMaxDuration(const GenTime &max);
 
 protected:
     int m_track;
@@ -56,7 +65,9 @@ protected:
     GenTime m_cropDuration;
     GenTime m_startPos;
     GenTime m_maxDuration;
-    QMap <int, int> m_keyframes;
+    QMap <int, double> m_keyframes;
+    double m_keyframeFactor;
+    double m_keyframeDefault;
     double m_fps;
     QPainterPath upperRectPart(QRectF);
     QPainterPath lowerRectPart(QRectF);