diff options
author | Samuel Rødal <samuel.rodal@nokia.com> | 2011-08-09 14:45:13 +0200 |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2011-08-09 16:10:28 +0200 |
commit | 44ad7a7f2bbec33e358d1fcfc444d762e59ffe7e (patch) | |
tree | 27c3875afa26dc3f6ec95d3876bf6116758aaa97 /src/gui/kernel/qguiglcontext_qpa.cpp | |
parent | f66065f28140c998a4c7ad2e9a1f8063f7361bd6 (diff) |
Removed QPaintDevice dependency in blitFramebuffer().
Change-Id: I7294be5c4447d7e24dda95b822a9ce7b2abbccc4
Reviewed-on: http://codereview.qt.nokia.com/2783
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Diffstat (limited to 'src/gui/kernel/qguiglcontext_qpa.cpp')
-rw-r--r-- | src/gui/kernel/qguiglcontext_qpa.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gui/kernel/qguiglcontext_qpa.cpp b/src/gui/kernel/qguiglcontext_qpa.cpp index a11a1c77de..2c43befbc9 100644 --- a/src/gui/kernel/qguiglcontext_qpa.cpp +++ b/src/gui/kernel/qguiglcontext_qpa.cpp @@ -71,6 +71,7 @@ public: , platformGLContext(0) , shareContext(0) , screen(0) + , surface(0) { } @@ -86,6 +87,7 @@ public: QPlatformGLContext *platformGLContext; QGuiGLContext *shareContext; QScreen *screen; + QSurface *surface; static void setCurrentContext(QGuiGLContext *context); }; @@ -229,6 +231,7 @@ bool QGuiGLContext::makeCurrent(QSurface *surface) if (d->platformGLContext->makeCurrent(surface->surfaceHandle())) { QGuiGLContextPrivate::setCurrentContext(this); + d->surface = surface; return true; } @@ -246,8 +249,20 @@ void QGuiGLContext::doneCurrent() d->platformGLContext->doneCurrent(); QGuiGLContextPrivate::setCurrentContext(0); + + d->surface = 0; +} + +/*! + Returns the surface the context is current for. +*/ +QSurface *QGuiGLContext::surface() const +{ + Q_D(const QGuiGLContext); + return d->surface; } + void QGuiGLContext::swapBuffers(QSurface *surface) { Q_D(QGuiGLContext); |