]> git.sesse.net Git - kdenlive/blobdiff - src/clipitem.h
Introduce video thumbnail for each frame when zooming at max level (causes slowdown...
[kdenlive] / src / clipitem.h
index 0998eccb71b632c0290031f9995ccee00102546f..9ccc98f0d71ba4d424a7cd80e388e34917c6c1a2 100644 (file)
@@ -26,6 +26,7 @@
 #include <QDomElement>
 #include <QGraphicsSceneMouseEvent>
 #include <QTimer>
+#include <QFuture>
 
 #include "definitions.h"
 #include "gentime.h"
@@ -47,7 +48,7 @@ public:
                        const QStyleOptionGraphicsItem *option,
                        QWidget *);
     virtual int type() const;
-    void resizeStart(int posx);
+    void resizeStart(int posx, bool size = true);
     void resizeEnd(int posx);
     OPERATIONTYPE operationMode(QPointF pos);
     const QString clipProducer() const;
@@ -56,10 +57,12 @@ public:
     QString clipName() const;
     void setClipName(const QString &name);
     QDomElement xml() const;
+    QDomElement itemXml() const;
     ClipItem *clone(ItemInfo info) const;
     const EffectsList effectList() const;
     void setFadeOut(int pos);
     void setFadeIn(int pos);
+    void setFades(int in, int out);
     /** Give a string list of the clip's effect names */
     QStringList effectNames();
     /** Add an effect to the clip and return the parameters that will be passed to Mlt */
@@ -116,6 +119,9 @@ public:
     bool isAudioOnly() const;
     /** Called when clip start is resized, adjust keyframes values */
     bool checkEffectsKeyframesPos(const int previous, const int current, bool fromStart);
+    void insertKeyframe(QDomElement effect, int pos, int val);
+    void movedKeyframe(QDomElement effect, int oldpos, int newpos, double value);
+    void updateKeyframes(QDomElement effect);
 
 protected:
     //virtual void mouseMoveEvent(QGraphicsSceneMouseEvent * event);
@@ -141,6 +147,7 @@ private:
 
     QPixmap m_startPix;
     QPixmap m_endPix;
+
     bool m_hasThumbs;
     QTimer m_startThumbTimer;
     QTimer m_endThumbTimer;
@@ -161,6 +168,7 @@ private:
 
     QPixmap m_videoPix;
     QPixmap m_audioPix;
+    void doGetIntraThumbs(QPainter *painter, const QPointF startPos, int offset, int start, int end);
 
 private slots:
     void slotGetStartThumb();