src/gl/partrenderer.h

changeset 18
918b6c0f8b5b
parent 17
a5111f4e6412
child 21
0133e565e072
equal deleted inserted replaced
17:a5111f4e6412 18:918b6c0f8b5b
1 #pragma once 1 #pragma once
2 #include <QOpenGLWidget> 2 #include <QOpenGLWidget>
3 #include <QOpenGLFunctions> 3 #include <QOpenGLFunctions>
4 #include <QQuaternion> 4 #include <QQuaternion>
5 #include "main.h" 5 #include "main.h"
6 #include "gl/common.h"
6 7
7 class PartRenderer : public QOpenGLWidget, protected QOpenGLFunctions 8 class PartRenderer : public QOpenGLWidget, protected QOpenGLFunctions
8 { 9 {
9 public: 10 public:
10 PartRenderer(QWidget* parent = nullptr); 11 PartRenderer(QWidget* parent = nullptr);
11 protected: 12 protected:
12 void initializeGL() override; 13 void initializeGL() override;
13 void resizeGL(int width, int height) override; 14 void resizeGL(int width, int height) override;
14 void paintGL() override; 15 void paintGL() override;
15 void mouseMoveEvent(QMouseEvent* event) override; 16 void mouseMoveEvent(QMouseEvent* event) override;
17 private slots:
18 void setRenderStyle(const gl::RenderStyle newStyle);
16 private: 19 private:
17 QPointF lastMousePosition; 20 QPointF lastMousePosition;
18 bool initialized = false; 21 bool initialized = false;
22 gl::RenderStyle renderStyle = gl::RenderStyle::Normal;
19 QQuaternion rotation; 23 QQuaternion rotation;
20 void initializeLighting(); 24 void initializeLighting();
21 }; 25 };

mercurial