#include <QDomElement>
#include "gentime.h"
-#include "ui_monitor_ui.h"
#include "timecodedisplay.h"
#if defined(Q_WS_MAC) || defined(USE_OPEN_GL)
#include "videoglwidget.h"
class QGraphicsView;
class QGraphicsPixmapItem;
+class Monitor;
+
+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);
+ virtual void wheelEvent(QWheelEvent * event);
+
+private:
+ Qt::WindowFlags m_baseFlags;
+ Monitor *m_monitor;
+};
+
class MonitorRefresh : public QWidget
{
Q_OBJECT
public:
MonitorRefresh(QWidget *parent = 0);
- virtual void paintEvent(QPaintEvent *event);
void setRenderer(Render* render);
+protected:
+ virtual void paintEvent(QPaintEvent *event);
+
private:
Render *m_renderer;
+
+signals:
+ void switchFullScreen();
+ void switchPlay();
+ void mouseSeek(int, bool);
};
class Overlay : public QLabel
void updateTimecodeFormat();
void updateMarkers(DocClipBase *source);
MonitorScene *getEffectScene();
+ QWidget *container();
protected:
virtual void mousePressEvent(QMouseEvent * event);
//virtual void paintEvent(QPaintEvent * event);
private:
- Ui::Monitor_UI m_ui;
QString m_name;
MonitorManager *m_monitorManager;
DocClipBase *m_currentClip;
QPoint m_DragStartPosition;
MonitorScene *m_effectScene;
QGraphicsView *m_effectView;
+ VideoContainer *m_videoBox;
/** Selected clip/transition in timeline. Used for looping it. */
AbstractClipItem *m_selectedClip;
/** true if selected clip is transition, false = selected clip is clip.
bool m_loopClipTransition;
#if defined(Q_WS_MAC) || defined(USE_OPEN_GL)
VideoGLWidget *m_glWidget;
- bool createOpenGlWidget(QVBoxLayout *rendererBox, const QString profile);
+ bool createOpenGlWidget(QWidget *parent, const QString profile);
#endif
GenTime getSnapForPos(bool previous);
+ Qt::WindowFlags m_baseFlags;
private slots:
void seekCursor(int pos);
void slotSetSelectedClip(AbstractClipItem *item);
void slotSetSelectedClip(ClipItem *item);
void slotSetSelectedClip(Transition *item);
+ void slotMouseSeek(int eventDelta, bool fast);
+ void slotSwitchFullScreen();
signals:
void renderPosition(int);