#include "effectslist.h"
#include "docclipbase.h"
#include "kthumb.h"
+#include "transition.h"
+#include "abstractclipitem.h"
-
-class ClipItem : public QObject, public QGraphicsRectItem {
+class ClipItem : public AbstractClipItem {
Q_OBJECT
public:
const QStyleOptionGraphicsItem *option,
QWidget *widget);
virtual int type() const;
- void moveTo(int x, double scale, double offset, int newTrack);
void resizeStart(int posx, double scale);
void resizeEnd(int posx, double scale);
OPERATIONTYPE operationMode(QPointF pos, double scale);
int clipType();
DocClipBase *baseClip();
QString clipName();
- GenTime maxDuration() const;
- int track() const;
- void setTrack(int track);
- GenTime startPos() const;
- GenTime cropStart() const;
- GenTime endPos() const;
- GenTime duration() const;
- double fps() const;
QDomElement xml() const;
- int fadeIn() const;
- int fadeOut() const;
+
void setFadeOut(int pos, double scale);
void setFadeIn(int pos, double scale);
/** Give a string list of the clip's effect names */
/** Replace effect at pos ix with given value */
void setEffectAt(int ix, QDomElement effect);
void flashClip();
+ void addTransition(Transition*);
+ /** regenerate audio and video thumbnails */
+ void resetThumbs();
protected:
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent * event);
int m_producer;
CLIPTYPE m_clipType;
QString m_clipName;
- GenTime m_maxDuration;
- GenTime m_cropStart;
- GenTime m_cropDuration;
+
+
int m_maxTrack;
- int m_track;
- GenTime m_startPos;
+
+
QPixmap m_startPix;
QPixmap m_endPix;
bool m_hasThumbs;
QTimer *startThumbTimer;
QTimer *endThumbTimer;
- uint m_startFade;
- uint m_endFade;
+
/** counter used to provide a unique id to each effect */
int m_effectsCounter;
double m_opacity;
QTimeLine *m_timeLine;
uint m_thumbsRequested;
- double m_fps;
bool m_hover;
EffectsList m_effectList;
+ QList <Transition*> m_transitionsList;
QMap<int, QPixmap> audioThumbCachePic;
bool audioThumbWasDrawn, audioThumbReady;
double framePixelWidth;