]> git.sesse.net Git - kdenlive/blobdiff - src/monitor.h
Various changes for getting an OpenGL context (almost) everywhere it is needed.
[kdenlive] / src / monitor.h
index c041bccb8b3047551080dac6ae46ae578e52736e..d3f1ba93d740bc1c91e5052bb2af75debfdf1eac 100644 (file)
 #include "renderer.h"
 #include "definitions.h"
 #include "timecodedisplay.h"
-#include "abstractmonitor.h"
-#ifdef USE_OPENGL
-#include "videoglwidget.h"
-#endif
+#include "widgets/abstractmonitor.h"
+#include "widgets/videoglwidget.h"
 
 #include <QLabel>
 #include <QDomElement>
 #include <QToolBar>
-#include <QSlider>
 
 #include <KIcon>
-#include <KAction>
-#include <KRestrictedLine>
 
 class SmallRuler;
 class DocClipBase;
@@ -47,7 +42,9 @@ class ClipItem;
 class MonitorEditWidget;
 class Monitor;
 class MonitorManager;
-
+class QSlider;
+class VideoGLWidget;
+class QGLWidget;
 
 class Overlay : public QLabel
 {
@@ -57,9 +54,9 @@ public:
     void setOverlayText(const QString &, bool isZone = true);
 
 protected:
-    virtual void mouseDoubleClickEvent ( QMouseEvent * event );
-    virtual void mousePressEvent ( QMouseEvent * event );
-    virtual void mouseReleaseEvent ( QMouseEvent * event );
+    void mouseDoubleClickEvent ( QMouseEvent * event );
+    void mousePressEvent ( QMouseEvent * event );
+    void mouseReleaseEvent ( QMouseEvent * event );
     
 signals:
     void editMarker();
@@ -70,12 +67,12 @@ class Monitor : public AbstractMonitor
     Q_OBJECT
 
 public:
-    Monitor(Kdenlive::MONITORID id, MonitorManager *manager, QString profile = QString(), QWidget *parent = 0);
+    Monitor(Kdenlive::MonitorId id, MonitorManager *manager, QGLWidget *glContext, QString profile = QString(), QWidget *parent = 0);
     ~Monitor();
     Render *render;
     AbstractRender *abstractRender();
     void resetProfile(const QString &profile);
-    void setCustomProfile(const QString &profile, Timecode tc);
+    void setCustomProfile(const QString &profile, const Timecode &tc);
     void resetSize();
     void pause();
     void unpause();
@@ -103,7 +100,6 @@ public:
 protected:
     void mousePressEvent(QMouseEvent * event);
     void mouseReleaseEvent(QMouseEvent * event);
-    void mouseDoubleClickEvent(QMouseEvent * event);
     void resizeEvent(QResizeEvent *event);
 
     /** @brief Move to another position on mouse wheel event.
@@ -146,10 +142,9 @@ private:
      *  Necessary because sometimes we get two signals, e.g. we get a clip and we get selected transition = NULL. */
     bool m_loopClipTransition;
 
-#ifdef USE_OPENGL
+    QGLWidget *m_parentGLContext;
     VideoGLWidget *m_glWidget;
-    bool createOpenGlWidget(QWidget *parent, const QString &profile);
-#endif
+    void createOpenGlWidget(QWidget *parent, const QString &profile);
 
     GenTime getSnapForPos(bool previous);
     Qt::WindowFlags m_baseFlags;