summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2014-03-28 17:14:30 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-08 14:00:10 +0200
commit96425960f9d57387c33e3ba50785aaa81255bc98 (patch)
tree01799f1235c85ffef420c06c5598ebd4e028339e /src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h
parent84f31c11b77a62212451cb77adae63219e06de96 (diff)
Render the widgets view using the scene graph into a QOpenGLWidget
This means that widgets application now need to setup the GL context sharing as well. QWebEngineWidgets::initialize() must be called, which has the same effect as QWebEngine::initialize(). The QtWebEngineWidgets now depends on the QtWebEngine module to make this happen. Since QOpenGLWidget is only available in Qt 5.3, this patch also disables the webenginewidgets module completely when building using Qt 5.2. Change-Id: I0e99a779d1eb080f2ccf5a338ff0763ad64e6eba Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h')
-rw-r--r--src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h
index 77a594d61..6a77d8321 100644
--- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h
+++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h
@@ -45,15 +45,17 @@
#include "render_widget_host_view_qt_delegate.h"
#include "web_contents_adapter_client.h"
-#include <QWidget>
-
-class BackingStoreQt;
+#include <private/qopenglwidget_p.h>
QT_BEGIN_NAMESPACE
+class QSGContext;
+class QSGRenderContext;
+class QSGRenderer;
+class QSGRootNode;
class QWindow;
QT_END_NAMESPACE
-class RenderWidgetHostViewQtDelegateWidget : public QWidget, public RenderWidgetHostViewQtDelegate
+class RenderWidgetHostViewQtDelegateWidget : public QOpenGLWidget, public RenderWidgetHostViewQtDelegate
{
public:
RenderWidgetHostViewQtDelegateWidget(RenderWidgetHostViewQtDelegateClient *client, QWidget *parent = 0);
@@ -76,14 +78,19 @@ public:
virtual void setTooltip(const QString &tooltip) Q_DECL_OVERRIDE;
protected:
- void paintEvent(QPaintEvent * event);
bool event(QEvent *event);
void resizeEvent(QResizeEvent *resizeEvent);
+ void initializeGL() Q_DECL_OVERRIDE;
+ void paintGL() Q_DECL_OVERRIDE;
QVariant inputMethodQuery(Qt::InputMethodQuery query) const;
private:
RenderWidgetHostViewQtDelegateClient *m_client;
+ QScopedPointer<QSGContext> sgContext;
+ QScopedPointer<QSGRenderContext> sgRenderContext;
+ QScopedPointer<QSGRootNode> rootNode;
+ QScopedPointer<QSGRenderer> sgRenderer;
bool m_isPopup;
};