src/ui/canvas.h

changeset 73
97df974b5ed5
parent 70
f21b800b02a4
child 104
cd4df75924b7
equal deleted inserted replaced
72:7c27cda03747 73:97df974b5ed5
11 Model* model, 11 Model* model,
12 DocumentManager* documents, 12 DocumentManager* documents,
13 const ldraw::ColorTable& colorTable, 13 const ldraw::ColorTable& colorTable,
14 QWidget* parent = nullptr); 14 QWidget* parent = nullptr);
15 public slots: 15 public slots:
16 void handleSelectionChange(const QSet<ldraw::Id>& selectedIds, const QSet<ldraw::Id>& deselectedIds); 16 void handleSelectionChange(const QSet<ldraw::id_t>& selectedIds, const QSet<ldraw::id_t>& deselectedIds);
17 protected: 17 protected:
18 void mouseMoveEvent(QMouseEvent* event) override; 18 void mouseMoveEvent(QMouseEvent* event) override;
19 void mousePressEvent(QMouseEvent* event) override; 19 void mousePressEvent(QMouseEvent* event) override;
20 void mouseReleaseEvent(QMouseEvent* event) override; 20 void mouseReleaseEvent(QMouseEvent* event) override;
21 void initializeGL() override; 21 void initializeGL() override;
22 void paintGL() override; 22 void paintGL() override;
23 signals: 23 signals:
24 void newStatusText(const QString& newStatusText); 24 void newStatusText(const QString& newStatusText);
25 void selectionChanged(const QSet<ldraw::Id>& newSelection); 25 void selectionChanged(const QSet<ldraw::id_t>& newSelection);
26 private: 26 private:
27 void updateGridMatrix(); 27 void updateGridMatrix();
28 glm::vec3 cameraVector() const; 28 glm::vec3 cameraVector() const;
29 bool isGridPerpendicularToScreen(float threshold) const; 29 bool isGridPerpendicularToScreen(float threshold) const;
30 std::optional<GridProgram> gridProgram; 30 std::optional<GridProgram> gridProgram;
31 std::optional<AxesProgram> axesProgram; 31 std::optional<AxesProgram> axesProgram;
32 std::optional<glm::vec3> worldPosition; 32 std::optional<glm::vec3> worldPosition;
33 glm::mat4 gridMatrix; 33 glm::mat4 gridMatrix;
34 geom::Plane gridPlane; 34 geom::Plane gridPlane;
35 int totalMouseMove = 0; 35 int totalMouseMove = 0;
36 QSet<ldraw::Id> selection; 36 QSet<ldraw::id_t> selection;
37 }; 37 };

mercurial