diff options
author | Laszlo Agocs <laszlo.agocs@digia.com> | 2014-03-04 15:06:36 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-10 15:10:37 +0100 |
commit | 1e8de50674f5b33a50c45224b7e07b3f974f6ab0 (patch) | |
tree | a52d4e421be3c6c2deb4ff07905d5715012b0d9a /src/widgets/kernel/qopenglwidget.cpp | |
parent | 11eb9d37dc191b6e71c903e4f7f4d2da579e7df5 (diff) |
Avoid using direct OpenGL calls in gui and widgets
Change-Id: I5d88a2e204ca23e178a4e3044b9cb13392c3e763
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Diffstat (limited to 'src/widgets/kernel/qopenglwidget.cpp')
-rw-r--r-- | src/widgets/kernel/qopenglwidget.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/widgets/kernel/qopenglwidget.cpp b/src/widgets/kernel/qopenglwidget.cpp index a5f81a9df8..e05c03d952 100644 --- a/src/widgets/kernel/qopenglwidget.cpp +++ b/src/widgets/kernel/qopenglwidget.cpp @@ -44,6 +44,7 @@ #include <QtWidgets/private/qwidget_p.h> #include <QOpenGLFramebufferObject> +#include <QOpenGLFunctions> #include <QWindow> #include <qpa/qplatformwindow.h> #include <QDebug> @@ -144,9 +145,10 @@ void QOpenGLWidget::paintGL() void QOpenGLWidget::updateGL() { + Q_D(QOpenGLWidget); makeCurrent(); paintGL(); - glFlush(); + d->context.functions()->glFlush(); doneCurrent(); update(); } @@ -163,15 +165,16 @@ void QOpenGLWidget::resizeEvent(QResizeEvent *) delete d->fbo; // recreate when resized d->fbo = new QOpenGLFramebufferObject(size()); d->fbo->bind(); - glBindTexture(GL_TEXTURE_2D, d->fbo->texture()); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + QOpenGLFunctions *funcs = d->context.functions(); + funcs->glBindTexture(GL_TEXTURE_2D, d->fbo->texture()); + funcs->glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + funcs->glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + funcs->glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + funcs->glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); resizeGL(width(), height()); paintGL(); - glFlush(); + funcs->glFlush(); } void QOpenGLWidget::paintEvent(QPaintEvent *) |