]> git.sesse.net Git - kdenlive/blobdiff - src/abstractclipitem.h
Fix corruption when changing the project profile
[kdenlive] / src / abstractclipitem.h
index 0e0765e93eb13d7fed9170b7ddac6b10077c86eb..226e20754f2efe5c2f631e469f0e503aabd8b282 100644 (file)
 #include "definitions.h"
 #include "gentime.h"
 
-class AbstractClipItem : public QObject , public QGraphicsRectItem {
+class CustomTrackScene;
+class QGraphicsSceneMouseEvent;
+
+class AbstractClipItem : public QObject , public QGraphicsRectItem
+{
     Q_OBJECT
 public:
     AbstractClipItem(const ItemInfo info, const QRectF& rect, double fps);
@@ -37,18 +41,23 @@ public:
     double selectedKeyFrameValue() const;
     double keyFrameFactor() const;
     ItemInfo info() const;
+    CustomTrackScene* projectScene();
+    void updateRectGeometry();
+    void updateItem();
+    void setItemLocked(bool locked);
+    bool isItemLocked() const;
 
-    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, bool checkCollision = true);
     virtual GenTime cropStart() const ;
-    virtual void resizeStart(int posx, double scale);
-    virtual void resizeEnd(int posx, double scale);
-    virtual GenTime duration() const;
+    virtual GenTime cropDuration() const ;
+    virtual void resizeStart(int posx, double speed = 1.0);
+    virtual void resizeEnd(int posx, double speed = 1.0);
     virtual double fps() const;
+    virtual void updateFps(double fps);
     virtual GenTime maxDuration() const;
     virtual void setCropStart(GenTime pos);
 
@@ -60,15 +69,14 @@ protected:
     GenTime m_cropDuration;
     GenTime m_startPos;
     GenTime m_maxDuration;
-    QMap <int, double> m_keyframes;
+    QMap <int, int> m_keyframes;
     double m_keyframeFactor;
     double m_keyframeDefault;
     double m_fps;
-    QPainterPath upperRectPart(QRectF);
-    QPainterPath lowerRectPart(QRectF);
-    QRect visibleRect();
+    //QRect visibleRect();
     void drawKeyFrames(QPainter *painter, QRectF exposedRect);
-    int mouseOverKeyFrames(QPointF pos);
+    int mouseOverKeyFrames(QPointF pos, double maxOffset);
+    virtual void mousePressEvent(QGraphicsSceneMouseEvent * event);
 };
 
 #endif