summaryrefslogtreecommitdiffstats
path: root/examples/opengl/hellogl
diff options
context:
space:
mode:
authorSarah Smith <sarah.j.smith@nokia.com>2009-10-09 02:00:25 (GMT)
committerSarah Smith <sarah.j.smith@nokia.com>2009-10-09 02:00:25 (GMT)
commit3d91051ce5ff92501b33580f1726f6726795c42d (patch)
treeceb60ad4e2f0b26fa6ef4412552118ad96705dc8 /examples/opengl/hellogl
parentef8d9fa7091b0d45fe15aae43b8f1c47547cb16d (diff)
downloadQt-3d91051ce5ff92501b33580f1726f6726795c42d.zip
Qt-3d91051ce5ff92501b33580f1726f6726795c42d.tar.gz
Qt-3d91051ce5ff92501b33580f1726f6726795c42d.tar.bz2
hellogl now runs on QT_OPENGL_ES_1 (ie N95).
effort to have examples show portable GL code continues. One #ifdef in whole example and it now runs on N95 and desktop. Reviewed-by: Rhys Weatherley
Diffstat (limited to 'examples/opengl/hellogl')
-rw-r--r--examples/opengl/hellogl/glwidget.cpp12
-rw-r--r--examples/opengl/hellogl/main.cpp10
-rw-r--r--examples/opengl/hellogl/window.cpp8
-rw-r--r--examples/opengl/hellogl/window.h3
4 files changed, 28 insertions, 5 deletions
diff --git a/examples/opengl/hellogl/glwidget.cpp b/examples/opengl/hellogl/glwidget.cpp
index 282f21f..ffb3b15 100644
--- a/examples/opengl/hellogl/glwidget.cpp
+++ b/examples/opengl/hellogl/glwidget.cpp
@@ -150,10 +150,10 @@ void GLWidget::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
- glTranslated(0.0, 0.0, -10.0);
- glRotated(xRot / 16.0, 1.0, 0.0, 0.0);
- glRotated(yRot / 16.0, 0.0, 1.0, 0.0);
- glRotated(zRot / 16.0, 0.0, 0.0, 1.0);
+ glTranslatef(0.0, 0.0, -10.0);
+ glRotatef(xRot / 16.0, 1.0, 0.0, 0.0);
+ glRotatef(yRot / 16.0, 0.0, 1.0, 0.0);
+ glRotatef(zRot / 16.0, 0.0, 0.0, 1.0);
logo->draw();
}
//! [7]
@@ -166,7 +166,11 @@ void GLWidget::resizeGL(int width, int height)
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
+#ifdef QT_OPENGL_ES_1
+ glOrthof(-0.5, +0.5, -0.5, +0.5, 4.0, 15.0);
+#else
glOrtho(-0.5, +0.5, -0.5, +0.5, 4.0, 15.0);
+#endif
glMatrixMode(GL_MODELVIEW);
}
//! [8]
diff --git a/examples/opengl/hellogl/main.cpp b/examples/opengl/hellogl/main.cpp
index e645dba..f610b3b 100644
--- a/examples/opengl/hellogl/main.cpp
+++ b/examples/opengl/hellogl/main.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include <QApplication>
+#include <QDesktopWidget>
#include "window.h"
@@ -47,6 +48,13 @@ int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Window window;
- window.show();
+ window.resize(window.sizeHint());
+ int desktopArea = QApplication::desktop()->width() *
+ QApplication::desktop()->height();
+ int widgetArea = window.width() * window.height();
+ if (((float)widgetArea / (float)desktopArea) < 0.75f)
+ window.show();
+ else
+ window.showMaximized();
return app.exec();
}
diff --git a/examples/opengl/hellogl/window.cpp b/examples/opengl/hellogl/window.cpp
index 2b06b9c..19a8aac 100644
--- a/examples/opengl/hellogl/window.cpp
+++ b/examples/opengl/hellogl/window.cpp
@@ -88,3 +88,11 @@ QSlider *Window::createSlider()
return slider;
}
//! [2]
+
+void Window::keyPressEvent(QKeyEvent *e)
+{
+ if (e->key() == Qt::Key_Escape)
+ close();
+ else
+ QWidget::keyPressEvent(e);
+}
diff --git a/examples/opengl/hellogl/window.h b/examples/opengl/hellogl/window.h
index 7269a05..4cfd31b 100644
--- a/examples/opengl/hellogl/window.h
+++ b/examples/opengl/hellogl/window.h
@@ -57,6 +57,9 @@ class Window : public QWidget
public:
Window();
+protected:
+ void keyPressEvent(QKeyEvent *event);
+
private:
QSlider *createSlider();