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