Wed, 17 Feb 2021 16:49:35 +0200
stuff
96 | 1 | #pragma once |
100 | 2 | #include <QMouseEvent> |
96 | 3 | #include "../main.h" |
4 | ||
5 | class BaseTool : public QObject | |
6 | { | |
7 | Q_OBJECT | |
8 | ||
9 | public: | |
10 | struct MouseEventData | |
11 | { | |
12 | QMouseEvent* ev; | |
13 | Qt::KeyboardModifiers keymods; | |
14 | bool mouseMoved; | |
15 | Qt::MouseButtons releasedButtons; | |
16 | }; | |
17 | ||
18 | BaseTool(QObject* parent = nullptr); | |
19 | ||
20 | virtual QString name() const = 0; | |
21 | virtual QString toolTip() const = 0; | |
22 | virtual bool mousePressed(QMouseEvent*) { return false; } | |
23 | virtual bool mouseReleased(MouseEventData const&) { return false; } | |
24 | virtual bool mouseDoubleClicked(QMouseEvent*) { return false; } | |
25 | virtual bool mouseMoved(QMouseEvent*) { return false; } | |
26 | virtual bool keyReleased(QKeyEvent*) { return false; } | |
102 | 27 | virtual void pointInCanvasClicked(const glm::vec3&) {} |
96 | 28 | }; |