]> git.sesse.net Git - kdenlive/blob - src/abstractclipitem.h
small cleanup
[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 void setFadeOut(int pos, double scale);
22     virtual void setFadeIn(int pos, double scale);
23     virtual GenTime duration() const;
24     virtual double fps() const;
25     virtual int fadeIn() const;
26     virtual int fadeOut() const;
27     virtual GenTime maxDuration() const;
28     virtual void setCropStart(GenTime pos);
29
30 protected:
31     int m_track;
32     GenTime m_cropStart;
33     GenTime m_cropDuration;
34     GenTime m_startPos;
35     GenTime m_maxDuration;
36     double m_fps;
37     uint m_startFade;
38     uint m_endFade;
39     QPainterPath upperRectPart(QRectF);
40     QPainterPath lowerRectPart(QRectF);
41     QRect visibleRect();
42 };
43
44 #endif