7 #include "gl/axesprogram.h" |
7 #include "gl/axesprogram.h" |
8 #include "gl/vertexprogram.h" |
8 #include "gl/vertexprogram.h" |
9 |
9 |
10 class EditTools; |
10 class EditTools; |
11 |
11 |
12 enum EditingMode |
|
13 { |
|
14 SelectMode, |
|
15 DrawMode |
|
16 }; |
|
17 |
|
18 Q_DECLARE_METATYPE(EditingMode); |
|
19 |
|
20 struct DrawState |
|
21 { |
|
22 std::vector<glm::vec3> polygon; |
|
23 std::vector<glm::vec3> previewPolygon; |
|
24 glm::vec3 previewPoint; |
|
25 bool isconcave = false; |
|
26 EditingMode mode = SelectMode; |
|
27 }; |
|
28 class Canvas : public PartRenderer |
12 class Canvas : public PartRenderer |
29 { |
13 { |
30 Q_OBJECT |
14 Q_OBJECT |
31 public: |
15 public: |
32 using OverpaintCallback = std::function<void(Canvas*, QPainter*)>; |
16 using OverpaintCallback = std::function<void(Canvas*, QPainter*)>; |