summaryrefslogtreecommitdiffstats
path: root/examples/opengl
diff options
context:
space:
mode:
Diffstat (limited to 'examples/opengl')
-rw-r--r--examples/opengl/contextinfo/renderwindow.cpp13
-rw-r--r--examples/opengl/contextinfo/renderwindow.h3
-rw-r--r--examples/opengl/contextinfo/widget.cpp2
-rw-r--r--examples/opengl/hellowindow/hellowindow.cpp13
-rw-r--r--examples/opengl/hellowindow/hellowindow.h5
-rw-r--r--examples/opengl/legacy/overpainting/glwidget.cpp2
-rw-r--r--examples/opengl/qopenglwidget/glwidget.cpp6
-rw-r--r--examples/opengl/qopenglwidget/mainwindow.cpp2
8 files changed, 30 insertions, 16 deletions
diff --git a/examples/opengl/contextinfo/renderwindow.cpp b/examples/opengl/contextinfo/renderwindow.cpp
index 2ac2a38afb..21b7434be6 100644
--- a/examples/opengl/contextinfo/renderwindow.cpp
+++ b/examples/opengl/contextinfo/renderwindow.cpp
@@ -181,6 +181,13 @@ void RenderWindow::setupVertexAttribs()
m_vbo.release();
}
+bool RenderWindow::event(QEvent *ev)
+{
+ if (ev->type() == QEvent::UpdateRequest)
+ render();
+ return QWindow::event(ev);
+}
+
void RenderWindow::render()
{
if (!m_context->makeCurrent(this)) {
@@ -227,9 +234,5 @@ void RenderWindow::render()
m_angle += 1.0f;
- // Instead of 0 wait a few more milliseconds before rendering again. This is
- // only here to make the UI widgets more responsive on slower machines. We
- // can afford it since our rendering is so lightweight.
- const int interval = 5;
- QTimer::singleShot(interval, this, &RenderWindow::render);
+ requestUpdate();
}
diff --git a/examples/opengl/contextinfo/renderwindow.h b/examples/opengl/contextinfo/renderwindow.h
index c148b71c3c..1b4a79dfcf 100644
--- a/examples/opengl/contextinfo/renderwindow.h
+++ b/examples/opengl/contextinfo/renderwindow.h
@@ -72,6 +72,9 @@ signals:
void ready();
void error(const QString &msg);
+protected:
+ bool event(QEvent *ev) override;
+
private slots:
void render();
diff --git a/examples/opengl/contextinfo/widget.cpp b/examples/opengl/contextinfo/widget.cpp
index a5d9e98bf8..b1b7076503 100644
--- a/examples/opengl/contextinfo/widget.cpp
+++ b/examples/opengl/contextinfo/widget.cpp
@@ -387,7 +387,7 @@ void Widget::renderWindowReady()
QList<QByteArray> extensionList = context->extensions().toList();
std::sort(extensionList.begin(), extensionList.end());
m_extensions->append(tr("Found %1 extensions:").arg(extensionList.count()));
- Q_FOREACH (const QByteArray &ext, extensionList)
+ for (const QByteArray &ext : qAsConst(extensionList))
m_extensions->append(QString::fromLatin1(ext));
m_output->moveCursor(QTextCursor::Start);
diff --git a/examples/opengl/hellowindow/hellowindow.cpp b/examples/opengl/hellowindow/hellowindow.cpp
index a978e19b79..1c1259de13 100644
--- a/examples/opengl/hellowindow/hellowindow.cpp
+++ b/examples/opengl/hellowindow/hellowindow.cpp
@@ -98,6 +98,15 @@ void HelloWindow::exposeEvent(QExposeEvent *)
m_renderer->render();
}
+bool HelloWindow::event(QEvent *ev)
+{
+ if (ev->type() == QEvent::UpdateRequest) {
+ m_renderer->render();
+ requestUpdate();
+ }
+ return QWindow::event(ev);
+}
+
void HelloWindow::mousePressEvent(QMouseEvent *)
{
updateColor();
@@ -132,7 +141,7 @@ void Renderer::setAnimating(HelloWindow *window, bool animating)
if (animating) {
m_windows << window;
if (m_windows.size() == 1)
- QTimer::singleShot(0, this, &Renderer::render);
+ window->requestUpdate();
} else {
m_currentWindow = 0;
m_windows.removeOne(window);
@@ -196,8 +205,6 @@ void Renderer::render()
m_context->swapBuffers(surface);
m_fAngle += 1.0f;
-
- QTimer::singleShot(0, this, &Renderer::render);
}
Q_GLOBAL_STATIC(QMutex, initMutex)
diff --git a/examples/opengl/hellowindow/hellowindow.h b/examples/opengl/hellowindow/hellowindow.h
index e92e45a125..e6d7970cfc 100644
--- a/examples/opengl/hellowindow/hellowindow.h
+++ b/examples/opengl/hellowindow/hellowindow.h
@@ -112,11 +112,12 @@ public:
QColor color() const;
void updateColor();
+protected:
+ bool event(QEvent *ev) override;
void exposeEvent(QExposeEvent *event) override;
-
-private:
void mousePressEvent(QMouseEvent *) override;
+private:
int m_colorIndex;
QColor m_color;
const QSharedPointer<Renderer> m_renderer;
diff --git a/examples/opengl/legacy/overpainting/glwidget.cpp b/examples/opengl/legacy/overpainting/glwidget.cpp
index 1ec7bd731c..f98d043c5c 100644
--- a/examples/opengl/legacy/overpainting/glwidget.cpp
+++ b/examples/opengl/legacy/overpainting/glwidget.cpp
@@ -201,7 +201,7 @@ void GLWidget::paintEvent(QPaintEvent *event)
//! [10]
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
- foreach (Bubble *bubble, bubbles) {
+ for (Bubble *bubble : qAsConst(bubbles)) {
if (bubble->rect().intersects(event->rect()))
bubble->drawBubble(&painter);
}
diff --git a/examples/opengl/qopenglwidget/glwidget.cpp b/examples/opengl/qopenglwidget/glwidget.cpp
index 3fe919f94b..946b2bec67 100644
--- a/examples/opengl/qopenglwidget/glwidget.cpp
+++ b/examples/opengl/qopenglwidget/glwidget.cpp
@@ -385,10 +385,10 @@ void GLWidget::paintGL()
painter.endNativePainting();
- if (m_showBubbles)
- foreach (Bubble *bubble, m_bubbles) {
+ if (m_showBubbles) {
+ for (Bubble *bubble : qAsConst(m_bubbles))
bubble->drawBubble(&painter);
- }
+ }
if (const int elapsed = m_time.elapsed()) {
QString framesPerSecond;
diff --git a/examples/opengl/qopenglwidget/mainwindow.cpp b/examples/opengl/qopenglwidget/mainwindow.cpp
index 4bd123628f..6fab3df79e 100644
--- a/examples/opengl/qopenglwidget/mainwindow.cpp
+++ b/examples/opengl/qopenglwidget/mainwindow.cpp
@@ -176,7 +176,7 @@ void MainWindow::timerUsageChanged(bool enabled)
m_timer->start();
} else {
m_timer->stop();
- foreach (QOpenGLWidget *w, m_glWidgets)
+ for (QOpenGLWidget *w : qAsConst(m_glWidgets))
w->update();
}
}