src/ui/canvas.h

changeset 61
4585d8d7a7ec
parent 57
5c0005f63319
child 64
f99d52b1646b
equal deleted inserted replaced
60:0f221121849b 61:4585d8d7a7ec
1 #pragma once 1 #pragma once
2 #include "gl/partrenderer.h" 2 #include "gl/partrenderer.h"
3 #include "gl/gridprogram.h"
3 4
4 class Canvas : public PartRenderer 5 class Canvas : public PartRenderer
5 { 6 {
6 Q_OBJECT 7 Q_OBJECT
7 public: 8 public:
14 void handleSelectionChange(const QSet<ldraw::Id>& selectedIds, const QSet<ldraw::Id>& deselectedIds); 15 void handleSelectionChange(const QSet<ldraw::Id>& selectedIds, const QSet<ldraw::Id>& deselectedIds);
15 protected: 16 protected:
16 void mouseMoveEvent(QMouseEvent* event) override; 17 void mouseMoveEvent(QMouseEvent* event) override;
17 void mousePressEvent(QMouseEvent* event) override; 18 void mousePressEvent(QMouseEvent* event) override;
18 void mouseReleaseEvent(QMouseEvent* event) override; 19 void mouseReleaseEvent(QMouseEvent* event) override;
20 void initializeGL() override;
19 void paintGL() override; 21 void paintGL() override;
20 signals: 22 signals:
21 void newStatusText(const QString& newStatusText); 23 void newStatusText(const QString& newStatusText);
22 void selectionChanged(const QSet<ldraw::Id>& newSelection); 24 void selectionChanged(const QSet<ldraw::Id>& newSelection);
23 private: 25 private:
24 QPoint lastMousePosition; 26 std::optional<GridProgram> gridProgram;
25 std::optional<glm::vec3> worldPosition; 27 std::optional<glm::vec3> worldPosition;
26 int totalMouseMove = 0; 28 int totalMouseMove = 0;
27 QSet<ldraw::Id> selection; 29 QSet<ldraw::Id> selection;
28 }; 30 };

mercurial