]> git.sesse.net Git - kdenlive/blob - src/abstractclipitem.h
* New: audio fade in / out by dragging a clip's top corner
[kdenlive] / src / abstractclipitem.h
1 #ifndef ABSTRACTCLIPITEM
2 #define ABSTRACTCLIPITEM
3
4 #include <QGraphicsRectItem>
5 #include "definitions.h"
6 #include "gentime.h"
7
8 class AbstractClipItem : public QObject , public QGraphicsRectItem {
9     Q_OBJECT
10 public:
11     AbstractClipItem(const ItemInfo info, const QRectF& rect, double fps);
12     virtual  OPERATIONTYPE operationMode(QPointF pos, double scale) = 0;
13     virtual GenTime startPos() const ;
14     virtual void setTrack(int track);
15     virtual GenTime endPos() const ;
16     virtual int track() const ;
17     virtual void moveTo(int x, double scale, int offset, int newTrack);
18     virtual GenTime cropStart() const ;
19     virtual  void resizeStart(int posx, double scale);
20     virtual void resizeEnd(int posx, double scale);
21     virtual GenTime duration() const;
22     virtual double fps() const;
23     virtual GenTime maxDuration() const;
24     virtual void setCropStart(GenTime pos);
25
26 protected:
27     int m_track;
28     GenTime m_cropStart;
29     GenTime m_cropDuration;
30     GenTime m_startPos;
31     GenTime m_maxDuration;
32     double m_fps;
33     QPainterPath upperRectPart(QRectF);
34     QPainterPath lowerRectPart(QRectF);
35     QRect visibleRect();
36 };
37
38 #endif