#ifndef CROPSCENE_HPP #define CROPSCENE_HPP #include #include #include #include class CropScene : public QGraphicsScene { Q_OBJECT public: CropScene(QObject *parent); virtual ~CropScene(); signals: void closedWithRect(QRect rect); protected: void mouseMoveEvent(QGraphicsSceneMouseEvent *e) override; void mouseReleaseEvent(QGraphicsSceneMouseEvent *e) override; void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *e) override; void keyReleaseEvent(QKeyEvent *e) override; private: void done(); QFlags prevButtons; QGraphicsRectItem *rect = nullptr; QPointF initPos; QGraphicsPolygonItem *polyItem = nullptr; }; #endif // CROPSCENE_HPP