#include <QVBoxLayout>
-AbstractMonitor::AbstractMonitor(Kdenlive::MONITORID id, MonitorManager *manager, QWidget *parent):
+AbstractMonitor::AbstractMonitor(Kdenlive::MonitorId id, MonitorManager *manager, QWidget *parent):
QWidget(parent),
- m_id(id),
videoSurface(NULL),
+ m_id(id),
m_monitorManager(manager)
{
videoBox = new VideoContainer(this);
AbstractMonitor::~AbstractMonitor()
{
- if (videoSurface)
- delete videoSurface;
+ delete videoSurface;
}
void AbstractMonitor::createVideoSurface()
return m_monitorManager->isActive(m_id);
}
-bool AbstractMonitor::slotActivateMonitor()
+bool AbstractMonitor::slotActivateMonitor(bool forceRefresh)
{
- return m_monitorManager->activateMonitor(m_id);
+ return m_monitorManager->activateMonitor(m_id, forceRefresh);
}
VideoContainer::VideoContainer(AbstractMonitor* monitor, QWidget *parent) :
}
}
-VideoSurface::VideoSurface(QWidget* parent) :
- QWidget(parent)
-{
- // MonitorRefresh is used as container for the SDL display (it's window id is passed to SDL)
- setAttribute(Qt::WA_PaintOnScreen);
- setAttribute(Qt::WA_OpaquePaintEvent);
- setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
- setAttribute(Qt::WA_NoSystemBackground);
- setUpdatesEnabled(false);
-}
-
-void VideoSurface::paintEvent(QPaintEvent *event)
-{
- Q_UNUSED(event);
- //WARNING: This might trigger unnecessary refreshes from MLT's producer, but without this,
- // as soon as monitor is covered by a popup menu or another window, image is corrupted.
- emit refreshMonitor();
-}
-
+#include "abstractmonitor.moc"