src/tools/basetool.h

Sun, 25 Jul 2021 16:26:38 +0300

author
Teemu Piippo <teemu@hecknology.net>
date
Sun, 25 Jul 2021 16:26:38 +0300
changeset 109
40a1cf2f38f5
parent 108
94c92c923713
child 111
1f42c03fafca
permissions
-rw-r--r--

replaced preview layers in favor of overpainting callback

#pragma once
#include <QMouseEvent>
#include "../main.h"
#include "../ui/canvas.h"

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(const Canvas::MouseClickInfo&) { return false; }
	virtual bool mouseDoubleClicked(QMouseEvent*) { return false; }
	virtual bool mouseMove(const Canvas::MouseMoveInfo&) { return false; }
	virtual bool keyReleased(QKeyEvent*) { return false; }
	virtual void reset() {}
	virtual void overpaint(Canvas*, QPainter*) const {}
};

mercurial