1From b108273323d7c53ced3924c099e869011c695c6c Mon Sep 17 00:00:00 2001 2From: Jeffy Chen <jeffy.chen@rock-chips.com> 3Date: Tue, 27 Nov 2018 16:03:31 +0800 4Subject: [PATCH 02/17] gsttools: videowidget: Set overlay rectangle when 5 resized 6 7Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 8--- 9 src/gsttools/qgstreamervideowidget.cpp | 12 ++++++++++-- 10 1 file changed, 10 insertions(+), 2 deletions(-) 11 12diff --git a/src/gsttools/qgstreamervideowidget.cpp b/src/gsttools/qgstreamervideowidget.cpp 13index 164e62f..55f9157 100644 14--- a/src/gsttools/qgstreamervideowidget.cpp 15+++ b/src/gsttools/qgstreamervideowidget.cpp 16@@ -41,6 +41,7 @@ 17 18 #include <QtCore/qcoreevent.h> 19 #include <QtCore/qdebug.h> 20+#include <QtGui/qevent.h> 21 #include <QtGui/qpainter.h> 22 23 QT_BEGIN_NAMESPACE 24@@ -48,8 +49,9 @@ QT_BEGIN_NAMESPACE 25 class QGstreamerVideoWidget : public QWidget 26 { 27 public: 28- QGstreamerVideoWidget(QWidget *parent = 0) 29+ QGstreamerVideoWidget(QGstreamerVideoOverlay *overlay, QWidget *parent = 0) 30 :QWidget(parent) 31+ ,m_videoOverlay(overlay) 32 { 33 setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); 34 QPalette palette; 35@@ -89,7 +91,13 @@ protected: 36 paint_helper(); 37 } 38 39+ void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE { 40+ m_videoOverlay->setRenderRectangle(QRect(QPoint(), event->size())); 41+ } 42+ 43 QSize m_nativeSize; 44+ 45+ QGstreamerVideoOverlay *m_videoOverlay; 46 }; 47 48 QGstreamerVideoWidgetControl::QGstreamerVideoWidgetControl(QObject *parent, const QByteArray &elementName) 49@@ -120,7 +128,7 @@ void QGstreamerVideoWidgetControl::createVideoWidget() 50 if (m_widget) 51 return; 52 53- m_widget = new QGstreamerVideoWidget; 54+ m_widget = new QGstreamerVideoWidget(&m_videoOverlay); 55 56 m_widget->installEventFilter(this); 57 m_videoOverlay.setWindowHandle(m_windowId = m_widget->winId()); 58-- 592.20.1 60 61