* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-
#ifndef MONITOR_H
#define MONITOR_H
#include <QDomElement>
#include "gentime.h"
-#include "ui_monitor_ui.h"
#include "timecodedisplay.h"
-#ifdef Q_WS_MAC
+#if defined(Q_WS_MAC) || defined(USE_OPEN_GL)
#include "videoglwidget.h"
#endif
class ClipItem;
class QGraphicsView;
class QGraphicsPixmapItem;
-class AudioSignal;
+
+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.
* Necessary because sometimes we get two signals, e.g. we get a clip and we get selected transition = NULL. */
bool m_loopClipTransition;
-#ifdef Q_WS_MAC
+#if defined(Q_WS_MAC) || defined(USE_OPEN_GL)
VideoGLWidget *m_glWidget;
+ bool createOpenGlWidget(QWidget *parent, const QString profile);
#endif
- AudioSignal *m_audiosignal;
GenTime getSnapForPos(bool previous);
+ Qt::WindowFlags m_baseFlags;
private slots:
void seekCursor(int pos);
public slots:
void slotOpenFile(const QString &);
void slotSetXml(DocClipBase *clip, QPoint zone = QPoint(), const int position = -1);
- void initMonitor();
- void refreshMonitor(bool visible = true);
+ void refreshMonitor(bool visible);
+ void refreshMonitor();
void slotSeek(int pos);
void stop();
void start();
void slotSetSelectedClip(AbstractClipItem *item);
void slotSetSelectedClip(ClipItem *item);
void slotSetSelectedClip(Transition *item);
+ void slotMouseSeek(int eventDelta, bool fast);
+ void slotSwitchFullScreen();
signals:
void renderPosition(int);