#pragma once #include #include #include #include #include "global.h" class MyDieRectItem : public QObject, public QGraphicsRectItem { Q_OBJECT public: typedef enum DrawTypeEnum { NONE, LINE, RECT, CIRCLE, TEXT }DrawTypeEnum; public: MyDieRectItem(qreal x, qreal y, qreal width, qreal height, QGraphicsItem *parent = nullptr) : QGraphicsRectItem(x, y, width, height, parent) { } MyDieRectItem(QObject *parent); ~MyDieRectItem(); QPointF StartPos() const { return m_startPos; } void StartPos(QPointF val) { m_startPos = val; } DrawTypeEnum DrawType() const { return m_drawType; } void DrawType(DrawTypeEnum val) { m_drawType = val; } protected: virtual void mousePressEvent(QGraphicsSceneMouseEvent *event) override; virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override; signals: void signal_mouse(QPointF p1, QPointF p2); private: QPointF m_startPos; DrawTypeEnum m_drawType; };