Sun, 24 Oct 2021 11:33:32 +0300
update
#pragma once #include "basetool.h" class DrawTool : public BaseTool { Q_OBJECT public: Q_INVOKABLE DrawTool(Model* model, QWidget* parent = nullptr); QString name() const override; QString toolTip() const override; bool mouseClick(Document* document, Canvas* canvas, QMouseEvent* event) override; bool mouseMove(Document* document, Canvas* canvas, QMouseEvent* event) override; bool keyReleased(Document*, Canvas* canvas, QKeyEvent* event) override; void reset() override; void overpaint(Canvas*, QPainter*) const override; private: void closeShape(Document *document); std::vector<glm::vec3> polygon; std::vector<glm::vec3> previewPolygon; glm::vec3 previewPoint; bool isconcave = false; void updatePreviewPolygon(); };