diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-08-26 16:40:17 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-08-26 16:40:17 +0200 |
commit | 3413f98e57be33d60692296cb44e3e3a83a80c1b (patch) | |
tree | f98f87674f21be878469b79c22e6b152e7dc6512 /src/quickwidgets | |
parent | 2c42d6af19f57ae013da0a4c45b6e1de8fb99e99 (diff) | |
parent | cc1b216c52d42964c9ac816302414cc6ec376dfe (diff) |
Merge "Merge branch 'origin/5.4' into dev" into refs/staging/dev
Diffstat (limited to 'src/quickwidgets')
-rw-r--r-- | src/quickwidgets/qquickwidget.cpp | 16 | ||||
-rw-r--r-- | src/quickwidgets/qquickwidget_p.h | 1 |
2 files changed, 11 insertions, 6 deletions
diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp index 6cca36b726..2541359fdd 100644 --- a/src/quickwidgets/qquickwidget.cpp +++ b/src/quickwidgets/qquickwidget.cpp @@ -238,6 +238,15 @@ void QQuickWidgetPrivate::renderSceneGraph() q->update(); } +QImage QQuickWidgetPrivate::grabFramebuffer() +{ + if (!context) + return QImage(); + + context->makeCurrent(offscreenSurface); + return renderControl->grab(); +} + /*! \module QtQuickWidgets \title Qt Quick Widgets C++ Classes @@ -1103,12 +1112,7 @@ QSurfaceFormat QQuickWidget::format() const */ QImage QQuickWidget::grabFramebuffer() const { - Q_D(const QQuickWidget); - if (!d->context) - return QImage(); - - d->context->makeCurrent(d->offscreenSurface); - return d->renderControl->grab(); + return const_cast<QQuickWidgetPrivate *>(d_func())->grabFramebuffer(); } QT_END_NAMESPACE diff --git a/src/quickwidgets/qquickwidget_p.h b/src/quickwidgets/qquickwidget_p.h index 8a8d98f45e..755acb969d 100644 --- a/src/quickwidgets/qquickwidget_p.h +++ b/src/quickwidgets/qquickwidget_p.h @@ -89,6 +89,7 @@ public: void handleContextCreationFailure(const QSurfaceFormat &format, bool isEs); GLuint textureId() const Q_DECL_OVERRIDE; + QImage grabFramebuffer() Q_DECL_OVERRIDE; void init(QQmlEngine* e = 0); void handleWindowChange(); |