src/ui/canvas.h

changeset 164
8305e2f968fb
parent 130
f2d78b30f2a9
child 165
f6eab2bd46c2
equal deleted inserted replaced
163:36ea1a8aee33 164:8305e2f968fb
19 QWidget* parent = nullptr); 19 QWidget* parent = nullptr);
20 void clearSelection(); 20 void clearSelection();
21 void addToSelection(ldraw::id_t id); 21 void addToSelection(ldraw::id_t id);
22 void setOverpaintCallback(OverpaintCallback fn); 22 void setOverpaintCallback(OverpaintCallback fn);
23 void drawWorldPoint(QPainter* painter, const glm::vec3& worldPoint) const; 23 void drawWorldPoint(QPainter* painter, const glm::vec3& worldPoint) const;
24 void drawWorldPolyline(QPainter* painter, const std::vector<glm::vec3>& points);
24 void drawWorldPolygon(QPainter* painter, const std::vector<glm::vec3>& points); 25 void drawWorldPolygon(QPainter* painter, const std::vector<glm::vec3>& points);
25 const std::optional<glm::vec3>& getWorldPosition() const; 26 const std::optional<glm::vec3>& getWorldPosition() const;
26 void adjustGridToView(); 27 void adjustGridToView();
27 public Q_SLOTS: 28 public Q_SLOTS:
28 void handleSelectionChange(const QSet<ldraw::id_t>& selectedIds, const QSet<ldraw::id_t>& deselectedIds); 29 void handleSelectionChange(const QSet<ldraw::id_t>& selectedIds, const QSet<ldraw::id_t>& deselectedIds);
40 void mouseMove(Canvas* canvas, QMouseEvent* event); 41 void mouseMove(Canvas* canvas, QMouseEvent* event);
41 private: 42 private:
42 void setGridMatrix(const glm::mat4 &newMatrix); 43 void setGridMatrix(const glm::mat4 &newMatrix);
43 glm::vec3 cameraVector() const; 44 glm::vec3 cameraVector() const;
44 bool isGridPerpendicularToScreen(float threshold) const; 45 bool isGridPerpendicularToScreen(float threshold) const;
46 QVector<QPointF> convertWorldPointsToScreenPoints(const std::vector<glm::vec3>& worldPoints);
45 std::optional<GridProgram> gridProgram; 47 std::optional<GridProgram> gridProgram;
46 std::optional<AxesProgram> axesProgram; 48 std::optional<AxesProgram> axesProgram;
47 std::optional<VertexProgram> vertexProgram; 49 std::optional<VertexProgram> vertexProgram;
48 std::optional<glm::vec3> worldPosition; 50 std::optional<glm::vec3> worldPosition;
49 glm::mat4 gridMatrix; 51 glm::mat4 gridMatrix;

mercurial