- m_glWidget = new VideoGLWidget(m_ui.video_frame);
- rendererBox->addWidget(m_glWidget);
- render = new Render(m_name, (int) m_ui.video_frame->winId(), -1, profile, this);
- m_glWidget->setImageAspectRatio(render->dar());
- m_glWidget->setBackgroundColor(KdenliveSettings::window_background());
- m_glWidget->resize(m_ui.video_frame->size());
- connect(render, SIGNAL(showImageSignal(QImage)), m_glWidget, SLOT(showImage(QImage)));
- m_monitorRefresh = 0;
-#else
- m_monitorRefresh = new MonitorRefresh(m_ui.video_frame);
- rendererBox->addWidget(m_monitorRefresh);
- render = new Render(m_name, (int) m_monitorRefresh->winId(), -1, profile, this);
- m_monitorRefresh->setRenderer(render);
+ createOpenGlWidget(videoBox, profile);
+ monitorCreated = true;
+ //m_glWidget->setFixedSize(width, height);
+#elif defined(USE_OPENGL)
+ if (KdenliveSettings::openglmonitors()) {
+ monitorCreated = createOpenGlWidget(videoBox, profile);
+ }
+#endif
+ if (!monitorCreated) {
+ createVideoSurface();
+ render = new Render(m_id, (int) videoSurface->winId(), profile, this);
+ connect(videoSurface, SIGNAL(refreshMonitor()), render, SLOT(doRefresh()));
+ }
+#ifdef USE_OPENGL
+ else if (m_glWidget) {
+ QVBoxLayout *lay = new QVBoxLayout;
+ lay->setContentsMargins(0, 0, 0, 0);
+ lay->addWidget(m_glWidget);
+ videoBox->setLayout(lay);
+ }