diff options
Diffstat (limited to 'examples/opengl/hellowindow/hellowindow.h')
-rw-r--r-- | examples/opengl/hellowindow/hellowindow.h | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/examples/opengl/hellowindow/hellowindow.h b/examples/opengl/hellowindow/hellowindow.h index 938c6409a4..76f2afb549 100644 --- a/examples/opengl/hellowindow/hellowindow.h +++ b/examples/opengl/hellowindow/hellowindow.h @@ -52,7 +52,7 @@ #include <QColor> #include <QMutex> -#include <QtOpenGL/QOpenGLShaderProgram> +#include <QOpenGLShaderProgram> #include <QOpenGLBuffer> #include <QSharedPointer> #include <QTimer> @@ -64,14 +64,16 @@ class Renderer : public QObject Q_OBJECT public: - explicit Renderer(const QSurfaceFormat &format, Renderer *share = 0, QScreen *screen = 0); + explicit Renderer(const QSurfaceFormat &format, Renderer *share = nullptr, + QScreen *screen = nullptr); QSurfaceFormat format() const { return m_format; } - void setAnimating(HelloWindow *window, bool animating); - public slots: - void render(); + void render(HelloWindow *surface, qreal angle, const QColor &color); + +signals: + void requestUpdate(); private: void initialize(); @@ -81,8 +83,6 @@ private: void quad(qreal x1, qreal y1, qreal x2, qreal y2, qreal x3, qreal y3, qreal x4, qreal y4); void extrude(qreal x1, qreal y1, qreal x2, qreal y2); - qreal m_fAngle; - QVector<QVector3D> vertices; QVector<QVector3D> normals; int vertexAttr; @@ -95,19 +95,13 @@ private: QOpenGLContext *m_context; QOpenGLShaderProgram *m_program; QOpenGLBuffer m_vbo; - - QList<HelloWindow *> m_windows; - int m_currentWindow; - - QMutex m_windowLock; - QColor m_backgroundColor; }; class HelloWindow : public QWindow { public: - explicit HelloWindow(const QSharedPointer<Renderer> &renderer, QScreen *screen = 0); + explicit HelloWindow(const QSharedPointer<Renderer> &renderer, QScreen *screen = nullptr); QColor color() const; void updateColor(); @@ -116,10 +110,10 @@ protected: bool event(QEvent *ev) override; void exposeEvent(QExposeEvent *event) override; void mousePressEvent(QMouseEvent *) override; + void render(); private: int m_colorIndex; QColor m_color; const QSharedPointer<Renderer> m_renderer; - mutable QMutex m_colorLock; }; |