+class VideoContainer : public QFrame
+{
+ Q_OBJECT
+public:
+ VideoContainer(Monitor *parent = 0);
+ void switchFullScreen();
+
+protected:
+ virtual void mouseDoubleClickEvent(QMouseEvent * event);
+ virtual void mousePressEvent(QMouseEvent * event);
+ virtual void mouseReleaseEvent(QMouseEvent *event);
+ virtual void mouseMoveEvent(QMouseEvent *event);
+ void keyPressEvent(QKeyEvent *event);
+ virtual void wheelEvent(QWheelEvent * event);
+
+private:
+ Qt::WindowFlags m_baseFlags;
+ Monitor *m_monitor;
+};
+
+class MonitorRefresh : public QWidget
+{
+ Q_OBJECT
+public:
+ MonitorRefresh(QWidget *parent = 0);
+ void setRenderer(Render* render);
+
+protected:
+ virtual void resizeEvent(QResizeEvent *event);
+
+private:
+ Render *m_renderer;
+
+signals:
+ void switchFullScreen();
+ void switchPlay();
+ void mouseSeek(int, bool);
+};
+
+class Overlay : public QLabel
+{
+ Q_OBJECT
+public:
+ Overlay(QWidget* parent = 0);
+ void setOverlayText(const QString &, bool isZone = true);
+
+private:
+ bool m_isZone;
+
+protected:
+ virtual void mouseDoubleClickEvent ( QMouseEvent * event );
+ virtual void mousePressEvent ( QMouseEvent * event );
+ virtual void mouseReleaseEvent ( QMouseEvent * event );
+
+signals:
+ void editMarker();
+};
+
+class Monitor : public AbstractMonitor
+{