]> git.sesse.net Git - kdenlive/blobdiff - src/customtrackview.h
Some funny timeline animation tooltips
[kdenlive] / src / customtrackview.h
index d92b1a67174e065a2147445ac1a0d3ad330977a5..1fe8d629f811f4cd87e9b2ee625dd6d210c09591 100644 (file)
 #define CUSTOMTRACKVIEW_H
 
 #include <QGraphicsView>
+#include <QGraphicsItemAnimation>
+#include <QTimeLine>
+
+#include <KUndoStack>
 
 #include "clipitem.h"
 
@@ -30,7 +34,7 @@ class CustomTrackView : public QGraphicsView
   Q_OBJECT
   
   public:
-    CustomTrackView(QGraphicsScene * scene, QWidget *parent=0);
+    CustomTrackView(KUndoStack *commandStack, QGraphicsScene * scene, QWidget *parent=0);
     virtual void mousePressEvent ( QMouseEvent * event );
     virtual void mouseReleaseEvent ( QMouseEvent * event );
     virtual void mouseMoveEvent ( QMouseEvent * event );
@@ -39,6 +43,10 @@ class CustomTrackView : public QGraphicsView
     void setCursorPos(int pos);
     int cursorPos();
     void initView();
+    void moveClip ( const QPointF &startPos, const QPointF &endPos );
+    void resizeClip ( const QPointF &startPos, const QPointF &endPos, bool resizeClipStart );
+    void addClip ( int clipType, QString clipName, int clipProducer, int maxDuration, const QRectF &rect );
+    void deleteClip ( const QRectF &rect );
 
   protected:
     virtual void drawBackground ( QPainter * painter, const QRectF & rect );
@@ -57,6 +65,15 @@ class CustomTrackView : public QGraphicsView
     ClipItem *m_dropItem;
     void addItem(QString producer, QPoint pos);
     QGraphicsLineItem *m_cursorLine;
+    QPointF m_startPos;
+    OPERATIONTYPE m_operationMode;
+    OPERATIONTYPE m_moveOpMode;
+    ClipItem *m_dragItem;
+    KUndoStack *m_commandStack;
+    QGraphicsItem *m_visualTip;
+    QGraphicsItemAnimation *m_animation;
+    QTimeLine *m_animationTimer;
+    QColor m_tipColor;
 
   signals:
     void cursorMoved(int);