]> git.sesse.net Git - kdenlive/blob - src/monitor.h
Improve clip monitor
[kdenlive] / src / monitor.h
1 #ifndef MONITOR_H
2 #define MONITOR_H
3
4 #include <KIcon>
5
6 #include "ui_monitor_ui.h"
7 #include "renderer.h"
8 #include "monitormanager.h"
9 #include "smallruler.h"
10
11 class MonitorManager;
12
13 class Monitor : public QWidget
14 {
15   Q_OBJECT
16   
17   public:
18     Monitor(QString name, MonitorManager *manager, QWidget *parent=0);
19     Render *render;
20     virtual void resizeEvent ( QResizeEvent * event );
21   protected:
22     virtual void mousePressEvent ( QMouseEvent * event );
23     virtual void wheelEvent ( QWheelEvent * event );
24
25   private:
26     Ui::Monitor_UI ui;
27     MonitorManager *m_monitorManager;
28     QString m_name;
29     double m_scale;
30     int m_length;
31     int m_position;
32     SmallRuler *m_ruler;
33     KIcon m_playIcon;
34     KIcon m_pauseIcon;
35
36   private slots:
37     void slotPlay();
38     void slotOpen();
39     void adjustRulerSize(int length);
40     void seekCursor(int pos);
41     void rendererStopped(int pos);
42     void slotSeek(int pos);
43     void slotRewindOneFrame();
44     void slotForwardOneFrame();
45     void slotForward();
46     void slotRewind();
47
48   public slots:
49     void slotOpenFile(const QString &);
50     void slotSetXml(const QDomElement &e);
51     void initMonitor();
52     void refreshMonitor(bool visible);
53     void stop();
54     void start();
55 };
56
57 #endif