Mon, 26 Jul 2021 11:50:45 +0300
refactor
#pragma once #include <QMouseEvent> #include "../main.h" #include "../ui/canvas.h" class Document; class BaseTool : public QObject { Q_OBJECT public: BaseTool(QObject* parent = nullptr); virtual QString name() const = 0; virtual QString toolTip() const = 0; virtual bool mousePressed(QMouseEvent*) { return false; } virtual bool mouseClick(Document*, Canvas*) { return false; } virtual bool mouseDoubleClicked(QMouseEvent*) { return false; } virtual bool mouseMove(Document*, Canvas*) { return false; } virtual bool keyReleased(QKeyEvent*) { return false; } virtual void reset() {} virtual void overpaint(Canvas*, QPainter*) const {} };