26 lines
633 B
C++
26 lines
633 B
C++
#ifndef BRUSHPAD_H
|
|
#define BRUSHPAD_H
|
|
|
|
#include <QGroupBox>
|
|
#include <QPixmap>
|
|
#include <QImage>
|
|
|
|
class BrushPad : public QGroupBox
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit BrushPad(QWidget *parent = nullptr);
|
|
|
|
void setBrushImage(const QImage &img); // 实时换笔刷
|
|
void moveBrush(const QPoint &pos); // 实时移动笔刷
|
|
protected:
|
|
void paintEvent(QPaintEvent *) override;
|
|
void resizeEvent(QResizeEvent *) override;
|
|
private:
|
|
QPixmap m_canvas; // 双缓冲画布
|
|
QImage m_brush; // 当前笔刷
|
|
QPoint m_brushPos; // 仅记录最后一次笔刷位置(调试用)
|
|
};
|
|
|
|
#endif // BRUSHPAD_H
|