Files
unnamed-cad-software/src/SketchTool.h
2026-02-17 10:18:36 -07:00

35 lines
772 B
C++

#ifndef SKETCHTOOL_H
#define SKETCHTOOL_H
#include <QObject>
class QMouseEvent;
class QKeyEvent;
class ViewportWidget;
class QOpenGLShaderProgram;
class QPainter;
class QMatrix4x4;
class SketchTool : public QObject
{
Q_OBJECT
public:
explicit SketchTool(ViewportWidget* viewport);
virtual ~SketchTool() = default;
virtual void mousePressEvent(QMouseEvent *event) = 0;
virtual void mouseMoveEvent(QMouseEvent *event) = 0;
virtual void keyPressEvent(QKeyEvent *event) = 0;
virtual void paintGL() = 0;
virtual void paint2D(QPainter& painter, const QMatrix4x4& modelView, const QMatrix4x4& projection) = 0;
virtual void activate();
virtual void deactivate();
protected:
ViewportWidget* m_viewport;
};
#endif // SKETCHTOOL_H