src/tools/drawtool.h

Wed, 09 Mar 2022 14:07:58 +0200

author
Teemu Piippo <teemu@hecknology.net>
date
Wed, 09 Mar 2022 14:07:58 +0200
changeset 176
cd9d6bf6f649
parent 163
36ea1a8aee33
child 185
a38a0eb007b0
permissions
-rw-r--r--

Simplify parsing (removed header parsing)
Removed ldraw::Comment (MetaCommand handles line type 0)

#pragma once
#include "basetool.h"

class DrawTool : public BaseTool
{
	Q_OBJECT

public:
	Q_INVOKABLE DrawTool(Document* document);

	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;
	QString iconName() 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();
};

mercurial