diff options
author | Martin Smith <martin.smith@nokia.com> | 2010-06-11 12:06:41 (GMT) |
---|---|---|
committer | Martin Smith <martin.smith@nokia.com> | 2010-06-11 12:06:41 (GMT) |
commit | d92d1106e8cb2ca14b26b8c027d52608ee2915e9 (patch) | |
tree | 91b75077ecf9fb4709f000b89d5963ab98cdfc9b /src/opengl/qglframebufferobject.cpp | |
parent | a295a69e76ff330a2716c97b70723f0bd408f197 (diff) | |
parent | 24bcac9de46c89f4d8b533946e7b0feeacca1b0d (diff) | |
download | Qt-d92d1106e8cb2ca14b26b8c027d52608ee2915e9.zip Qt-d92d1106e8cb2ca14b26b8c027d52608ee2915e9.tar.gz Qt-d92d1106e8cb2ca14b26b8c027d52608ee2915e9.tar.bz2 |
Merge branch '4.7' of git@scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7
Diffstat (limited to 'src/opengl/qglframebufferobject.cpp')
-rw-r--r-- | src/opengl/qglframebufferobject.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp index 890b029..deffc20 100644 --- a/src/opengl/qglframebufferobject.cpp +++ b/src/opengl/qglframebufferobject.cpp @@ -1024,6 +1024,36 @@ QPaintEngine *QGLFramebufferObject::paintEngine() const } /*! + \fn bool QGLFramebufferObject::bindDefault() + \internal + + Switches rendering back to the default, windowing system provided + framebuffer. + Returns true upon success, false otherwise. + + \sa bind(), release() +*/ +bool QGLFramebufferObject::bindDefault() +{ + QGLContext *ctx = const_cast<QGLContext *>(QGLContext::currentContext()); + + if (ctx) { + bool ext_detected = (QGLExtensions::glExtensions() & QGLExtensions::FramebufferObject); + if (!ext_detected || (ext_detected && !qt_resolve_framebufferobject_extensions(ctx))) + return false; + + ctx->d_ptr->current_fbo = ctx->d_ptr->default_fbo; + glBindFramebuffer(GL_FRAMEBUFFER_EXT, ctx->d_ptr->default_fbo); +#ifdef QT_DEBUG + } else { + qWarning("QGLFramebufferObject::bindDefault() called without current context."); +#endif + } + + return ctx != 0; +} + +/*! \fn bool QGLFramebufferObject::hasOpenGLFramebufferObjects() Returns true if the OpenGL \c{GL_EXT_framebuffer_object} extension |