From 3fb786a868b31332632c7adc9c5e408a72f5cfbc Mon Sep 17 00:00:00 2001 From: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Mon, 25 Jul 2022 12:53:08 -0700 Subject: [PATCH] manageddisplaywidget: add toggle for QOpenGLWindow --- app/widget/manageddisplay/manageddisplay.cpp | 4 ++++ app/widget/manageddisplay/manageddisplay.h | 24 ++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/app/widget/manageddisplay/manageddisplay.cpp b/app/widget/manageddisplay/manageddisplay.cpp index 923d0bdee..62afcb876 100644 --- a/app/widget/manageddisplay/manageddisplay.cpp +++ b/app/widget/manageddisplay/manageddisplay.cpp @@ -62,7 +62,11 @@ ManagedDisplayWidget::ManagedDisplayWidget(QWidget *parent) : attached_renderer_ = new OpenGLRenderer(this); // Create widget wrapper for OpenGL window +#ifdef USE_QOPENGLWINDOW wrapper_ = QWidget::createWindowContainer(static_cast(inner_widget_)); +#else + wrapper_ = inner_widget_; +#endif layout->addWidget(wrapper_); } else { inner_widget_ = nullptr; diff --git a/app/widget/manageddisplay/manageddisplay.h b/app/widget/manageddisplay/manageddisplay.h index 89a952eb0..644ab0711 100644 --- a/app/widget/manageddisplay/manageddisplay.h +++ b/app/widget/manageddisplay/manageddisplay.h @@ -21,9 +21,15 @@ #ifndef MANAGEDDISPLAYOBJECT_H #define MANAGEDDISPLAYOBJECT_H +//#define USE_QOPENGLWINDOW + #include #include +#ifdef USE_QOPENGLWINDOW #include +#else +#include +#endif #include "node/color/colormanager/colormanager.h" #include "render/renderer.h" @@ -31,7 +37,12 @@ namespace olive { -class ManagedDisplayWidgetOpenGL : public QOpenGLWindow +class ManagedDisplayWidgetOpenGL +#ifdef USE_QOPENGLWINDOW + : public QOpenGLWindow +#else + : public QOpenGLWidget +#endif { Q_OBJECT public: @@ -175,7 +186,12 @@ protected: void doneCurrent(); - QWindow* inner_widget() const +#ifdef USE_QOPENGLWINDOW + QWindow* +#else + QWidget* +#endif + inner_widget() const { return inner_widget_; } @@ -225,7 +241,11 @@ private: /** * @brief Main drawing surface abstraction */ +#ifdef USE_QOPENGLWINDOW QWindow* inner_widget_; +#else + QWidget* inner_widget_; +#endif QWidget *wrapper_; /**