From: Jean-Nicolas Artaud Date: Tue, 14 Jan 2014 22:58:15 +0000 (+0100) Subject: Moves VideoSurface into widgets folder. X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=edb2e9a073ba73424d17da6e0821d0e1c0281a19;p=kdenlive Moves VideoSurface into widgets folder. --- diff --git a/src/abstractmonitor.cpp b/src/abstractmonitor.cpp index c4fa50e6..dc9ccd64 100644 --- a/src/abstractmonitor.cpp +++ b/src/abstractmonitor.cpp @@ -160,24 +160,4 @@ void VideoContainer::switchFullScreen() } } -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" diff --git a/src/abstractmonitor.h b/src/abstractmonitor.h index 6d222b16..e81d6339 100644 --- a/src/abstractmonitor.h +++ b/src/abstractmonitor.h @@ -20,7 +20,7 @@ #ifndef ABSTRACTMONITOR_H #define ABSTRACTMONITOR_H -#include "definitions.h" +#include #include #include @@ -28,10 +28,12 @@ #include #include -#include +#include "definitions.h" +#include "widgets/videosurface.h" class MonitorManager; class VideoContainer; +class VideoSurface; class AbstractRender: public QObject { @@ -74,22 +76,6 @@ signals: void audioSamplesSignal(const QVector&,int,int,int); }; - - -class VideoSurface : public QWidget -{ - Q_OBJECT -public: - VideoSurface(QWidget *parent = 0); - -signals: - void refreshMonitor(); - -protected: - virtual void paintEvent ( QPaintEvent * event ); -}; - - class AbstractMonitor : public QWidget { Q_OBJECT diff --git a/src/mltdevicecapture.cpp b/src/mltdevicecapture.cpp index 53cea103..c94f896d 100644 --- a/src/mltdevicecapture.cpp +++ b/src/mltdevicecapture.cpp @@ -19,6 +19,7 @@ #include "mltdevicecapture.h" #include "kdenlivesettings.h" #include "definitions.h" +#include "widgets/videosurface.h" #include diff --git a/src/monitor.cpp b/src/monitor.cpp index 09487a96..2b8cd627 100644 --- a/src/monitor.cpp +++ b/src/monitor.cpp @@ -24,6 +24,7 @@ #include "abstractclipitem.h" #include "monitorscene.h" #include "widgets/monitoreditwidget.h" +#include "widgets/videosurface.h" #include "kdenlivesettings.h" #include diff --git a/src/recmonitor.cpp b/src/recmonitor.cpp index e66a8f15..f54e678b 100644 --- a/src/recmonitor.cpp +++ b/src/recmonitor.cpp @@ -26,6 +26,7 @@ #include "monitormanager.h" #include "monitor.h" #include "profilesdialog.h" +#include "widgets/videosurface.h" #include #include diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt index 2b3e574e..3a4abc2d 100644 --- a/src/widgets/CMakeLists.txt +++ b/src/widgets/CMakeLists.txt @@ -13,5 +13,6 @@ set(kdenlive_SRCS widgets/noteswidget.cpp widgets/renderwidget.cpp widgets/titlewidget.cpp + widgets/videosurface.cpp PARENT_SCOPE ) diff --git a/src/widgets/videosurface.cpp b/src/widgets/videosurface.cpp new file mode 100644 index 00000000..e837986e --- /dev/null +++ b/src/widgets/videosurface.cpp @@ -0,0 +1,42 @@ +/*************************************************************************** + * Copyright (C) 2008 by Jean-Baptiste Mardelle (jb@kdenlive.org) * + * 2013 by Jean-Nicolas Artaud (jeannicolasartaud@gmail.com) * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * + ***************************************************************************/ + +#include "widgets/videosurface.h" + + +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(); +} + diff --git a/src/widgets/videosurface.h b/src/widgets/videosurface.h new file mode 100644 index 00000000..bcdcac99 --- /dev/null +++ b/src/widgets/videosurface.h @@ -0,0 +1,39 @@ +/*************************************************************************** + * Copyright (C) 2008 by Jean-Baptiste Mardelle (jb@kdenlive.org) * + * 2013 by Jean-Nicolas Artaud (jeannicolasartaud@gmail.com) * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef VIDEOSURFACE_H +#define VIDEOSURFACE_H + +#include + +class VideoSurface : public QWidget +{ + Q_OBJECT +public: + VideoSurface(QWidget *parent = 0); + +signals: + void refreshMonitor(); + +protected: + virtual void paintEvent ( QPaintEvent * event ); +}; + +#endif // VIDEOSURFACE_H