summaryrefslogtreecommitdiffstats
path: root/src/opengl/qgl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/opengl/qgl.cpp')
-rw-r--r--src/opengl/qgl.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp
index 0bd48b6c17..5aec058532 100644
--- a/src/opengl/qgl.cpp
+++ b/src/opengl/qgl.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtOpenGL module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -1615,6 +1615,7 @@ QDebug operator<<(QDebug dbg, const QGLFormat &f)
{
const QGLFormatPrivate * const d = f.d;
+ QDebugStateSaver saver(dbg);
dbg.nospace() << "QGLFormat("
<< "options " << d->opts
<< ", plane " << d->pln
@@ -1632,7 +1633,7 @@ QDebug operator<<(QDebug dbg, const QGLFormat &f)
<< ", profile " << d->profile
<< ')';
- return dbg.space();
+ return dbg;
}
#endif
@@ -2312,7 +2313,7 @@ static void convertToGLFormatHelper(QImage &dst, const QImage &img, GLenum textu
qreal sy = target_height / qreal(img.height());
quint32 *dest = (quint32 *) dst.scanLine(0); // NB! avoid detach here
- uchar *srcPixels = (uchar *) img.scanLine(img.height() - 1);
+ const uchar *srcPixels = img.constScanLine(img.height() - 1);
int sbpl = img.bytesPerLine();
int dbpl = dst.bytesPerLine();
@@ -4906,6 +4907,9 @@ void QGLWidget::renderText(double x, double y, double z, const QString &str, con
GLdouble win_x = 0, win_y = 0, win_z = 0;
qgluProject(x, y, z, &model[0], &proj[0], &view[0],
&win_x, &win_y, &win_z);
+ const int dpr = d->glcx->device()->devicePixelRatio();
+ win_x /= dpr;
+ win_y /= dpr;
win_y = height - win_y; // y is inverted
QPaintEngine *engine = paintEngine();
@@ -4934,7 +4938,7 @@ void QGLWidget::renderText(double x, double y, double z, const QString &str, con
} else if (use_scissor_testing) {
funcs->glEnable(GL_SCISSOR_TEST);
}
- funcs->glViewport(0, 0, width, height);
+ funcs->glViewport(0, 0, width * dpr, height * dpr);
gl1funcs->glAlphaFunc(GL_GREATER, 0.0);
funcs->glEnable(GL_ALPHA_TEST);
if (use_depth_testing)