diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2014-03-28 17:14:30 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-08 14:00:10 +0200 |
commit | 96425960f9d57387c33e3ba50785aaa81255bc98 (patch) | |
tree | 01799f1235c85ffef420c06c5598ebd4e028339e /src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h | |
parent | 84f31c11b77a62212451cb77adae63219e06de96 (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.h | 17 |
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; }; |