src/gl/partrenderer.h

changeset 21
0133e565e072
parent 18
918b6c0f8b5b
child 22
6da867fa5429
equal deleted inserted replaced
20:cef43609a374 21:0133e565e072
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 #include "gl/common.h"
7 #include "gl/compiler.h"
7 8
8 class PartRenderer : public QOpenGLWidget, protected QOpenGLFunctions 9 class PartRenderer : public QOpenGLWidget, protected QOpenGLFunctions
9 { 10 {
11 Q_OBJECT
10 public: 12 public:
11 PartRenderer(QWidget* parent = nullptr); 13 PartRenderer(Model* model, DocumentManager* documents, QWidget* parent = nullptr);
12 protected: 14 protected:
13 void initializeGL() override; 15 void initializeGL() override;
14 void resizeGL(int width, int height) override; 16 void resizeGL(int width, int height) override;
15 void paintGL() override; 17 void paintGL() override;
16 void mouseMoveEvent(QMouseEvent* event) override; 18 void mouseMoveEvent(QMouseEvent* event) override;
19 void setCompiler(gl::Compiler* compiler);
17 private slots: 20 private slots:
18 void setRenderStyle(const gl::RenderStyle newStyle); 21 void setRenderStyle(const gl::RenderStyle newStyle);
19 private: 22 private:
23 Model* const model;
24 DocumentManager* const documents;
20 QPointF lastMousePosition; 25 QPointF lastMousePosition;
21 bool initialized = false; 26 bool initialized = false;
22 gl::RenderStyle renderStyle = gl::RenderStyle::Normal; 27 gl::RenderStyle renderStyle = gl::RenderStyle::Normal;
23 QQuaternion rotation; 28 QQuaternion rotation;
24 void initializeLighting(); 29 void initializeLighting();
30 gl::Compiler* compiler;
25 }; 31 };

mercurial