]> git.sesse.net Git - kdenlive/blob - src/customruler.h
* New config option for preview: disable B Frame decoding on h.264:
[kdenlive] / src / customruler.h
1 #ifndef CUSTOMRULER_H
2 #define CUSTOMRULER_H
3
4 #include <QWidget>
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 QWidget {
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     int offset() const;
23
24 protected:
25     virtual void paintEvent(QPaintEvent * /*e*/);
26     virtual void wheelEvent(QWheelEvent * e);
27     virtual void mousePressEvent(QMouseEvent * event);
28     virtual void mouseMoveEvent(QMouseEvent * event);
29
30 private:
31     int m_cursorPosition;
32     Timecode m_timecode;
33     CustomTrackView *m_view;
34     int m_zoneStart;
35     int m_zoneEnd;
36     int m_duration;
37     double m_textSpacing;
38     double m_factor;
39     double m_scale;
40     int m_offset;
41     RULER_MOVE m_moveCursor;
42     QMenu *m_contextMenu;
43
44 public slots:
45     void slotMoveRuler(int newPos);
46     void slotCursorMoved(int oldpos, int newpos);
47
48 signals:
49     void zoneMoved(int, int);
50 };
51
52 #endif