]> git.sesse.net Git - kdenlive/blob - src/customruler.h
some more ui work, fit zoom to project
[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     virtual void mousePressEvent(QMouseEvent * event);
17     virtual void mouseMoveEvent(QMouseEvent * event);
18     void setPixelPerMark(double rate);
19     static const int comboScale[];
20     int outPoint() const;
21     int inPoint() const;
22     void setDuration(int d);
23
24 protected:
25     virtual void paintEvent(QPaintEvent * /*e*/);
26
27 private:
28     int m_cursorPosition;
29     Timecode m_timecode;
30     CustomTrackView *m_view;
31     int m_zoneStart;
32     int m_zoneEnd;
33     int m_duration;
34     RULER_MOVE m_moveCursor;
35
36 public slots:
37     void slotMoveRuler(int newPos);
38     void slotCursorMoved(int oldpos, int newpos);
39
40 };
41
42 #endif