/** * @file game_view.h * @ingroup GameGraphics * @brief TODO: Document this. */ #ifndef GAMEVIEW_H #define GAMEVIEW_H #include class GameScene; class QLabel; class QRubberBand; class GameView : public QGraphicsView { Q_OBJECT private: QAction *aCloseMostRecentZoneView; QRubberBand *rubberBand; QLabel *dragCountLabel; QLabel *totalCountLabel; QPointF selectionOrigin; protected: void resizeEvent(QResizeEvent *event) override; private slots: void startRubberBand(const QPointF &selectionOrigin); void resizeRubberBand(const QPointF &cursorPoint, int selectedCount); void stopRubberBand(); void refreshShortcuts(); void updateTotalSelectionCount(const QSize &viewSize = QSize()); public slots: void updateSceneRect(const QRectF &rect); public: explicit GameView(GameScene *scene, QWidget *parent = nullptr); }; #endif