summaryrefslogtreecommitdiff
path: root/recipes/qt4/qt-4.6.0/1136-Disable-depth-testing-during-the-2D-QGLWidget-render.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/qt4/qt-4.6.0/1136-Disable-depth-testing-during-the-2D-QGLWidget-render.patch')
-rw-r--r--recipes/qt4/qt-4.6.0/1136-Disable-depth-testing-during-the-2D-QGLWidget-render.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/recipes/qt4/qt-4.6.0/1136-Disable-depth-testing-during-the-2D-QGLWidget-render.patch b/recipes/qt4/qt-4.6.0/1136-Disable-depth-testing-during-the-2D-QGLWidget-render.patch
new file mode 100644
index 0000000000..30abab6468
--- /dev/null
+++ b/recipes/qt4/qt-4.6.0/1136-Disable-depth-testing-during-the-2D-QGLWidget-render.patch
@@ -0,0 +1,54 @@
+From 7371d787d9b2667132c0caadb9964189b1d8c9fc Mon Sep 17 00:00:00 2001
+From: Rhys Weatherley <rhys.weatherley@nokia.com>
+Date: Thu, 17 Dec 2009 11:17:11 +1000
+Subject: [PATCH 1136/1244] Disable depth testing during the 2D QGLWidget::renderText()
+
+Also document the depth testing conditions for the 2D and 3D
+versions of the function.
+
+Task-number: QTBUG-5041
+Reviewed-by: Daniel Pope
+---
+ src/opengl/qgl.cpp | 12 ++++++++++++
+ 1 files changed, 12 insertions(+), 0 deletions(-)
+
+diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp
+index 32534aa..466e851 100644
+--- a/src/opengl/qgl.cpp
++++ b/src/opengl/qgl.cpp
+@@ -4302,6 +4302,7 @@ static void qt_save_gl_state()
+ glDisable(GL_CULL_FACE);
+ glDisable(GL_LIGHTING);
+ glDisable(GL_STENCIL_TEST);
++ glDisable(GL_DEPTH_TEST);
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
+ }
+@@ -4355,6 +4356,10 @@ static void qt_gl_draw_text(QPainter *p, int x, int y, const QString &str,
+ \note This function clears the stencil buffer.
+
+ \note This function is not supported on OpenGL/ES systems.
++
++ \note This function temporarily disables depth-testing when the
++ text is drawn.
++
+ \l{Overpainting Example}{Overpaint} with QPainter::drawText() instead.
+ */
+
+@@ -4445,6 +4450,13 @@ void QGLWidget::renderText(int x, int y, const QString &str, const QFont &font,
+ have the labels move with the model as it is rotated etc.
+
+ \note This function is not supported on OpenGL/ES systems.
++
++ \note If depth testing is enabled before this function is called,
++ then the drawn text will be depth-tested against the models that
++ have already been drawn in the scene. Use \c{glDisable(GL_DEPTH_TEST)}
++ before calling this function to annotate the models without
++ depth-testing the text.
++
+ \l{Overpainting Example}{Overpaint} with QPainter::drawText() instead.
+ */
+ void QGLWidget::renderText(double x, double y, double z, const QString &str, const QFont &font, int)
+--
+1.6.5
+