]> 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 40414dd70c43205efd54d40c8a95b2b164e51fd5..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>
@@ -45,7 +43,8 @@ class MonitorEditWidget;
 class Monitor;
 class MonitorManager;
 class QSlider;
-
+class VideoGLWidget;
+class QGLWidget;
 
 class Overlay : public QLabel
 {
@@ -68,7 +67,7 @@ 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();
@@ -101,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.
@@ -144,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;