]> git.sesse.net Git - kdenlive/blob - src/customruler.h
Make monitor zone functional
[kdenlive] / src / customruler.h
1 #ifndef CUSTOMRULER_H
2 #define CUSTOMRULER_H
3
4 #include <KRuler>
5
6 #include "customtrackview.h"
7 #include "timecode.h"
8
9 enum RULER_MOVE { RULER_CURSOR = 0, RULER_START = 1, RULER_MIDDLE = 2, RULER_END = 3 };
10
11 class CustomRuler : public KRuler {
12     Q_OBJECT
13
14 public:
15     CustomRuler(Timecode tc, CustomTrackView *parent);
16     void setPixelPerMark(double rate);
17     static const int comboScale[];
18     int outPoint() const;
19     int inPoint() const;
20     void setDuration(int d);
21     void setZone(QPoint p);
22
23 protected:
24     virtual void paintEvent(QPaintEvent * /*e*/);
25     virtual void wheelEvent(QWheelEvent * e);
26     virtual void mousePressEvent(QMouseEvent * event);
27     virtual void mouseMoveEvent(QMouseEvent * event);
28
29 private:
30     int m_cursorPosition;
31     Timecode m_timecode;
32     CustomTrackView *m_view;
33     int m_zoneStart;
34     int m_zoneEnd;
35     int m_duration;
36     double m_textSpacing;
37     double m_factor;
38     RULER_MOVE m_moveCursor;
39     QMenu *m_contextMenu;
40
41 public slots:
42     void slotMoveRuler(int newPos);
43     void slotCursorMoved(int oldpos, int newpos);
44
45 signals:
46     void zoneMoved(int, int);
47 };
48
49 #endif