Cute Chess  0.1
boardview.h
1 /*
2  This file is part of Cute Chess.
3 
4  Cute Chess is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  Cute Chess is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with Cute Chess. If not, see <http://www.gnu.org/licenses/>.
16 */
17 
18 #ifndef BOARDVIEW_H
19 #define BOARDVIEW_H
20 
21 #include <QGraphicsView>
22 #include <QPixmap>
23 class QTimer;
24 
32 class BoardView : public QGraphicsView
33 {
34  Q_OBJECT
35 
36  public:
38  explicit BoardView(QGraphicsScene* scene, QWidget* parent = nullptr);
39 
40  // Inherited from QGraphicsView
41  virtual QSize sizeHint() const;
42  virtual int heightForWidth(int width) const;
43 
44  protected:
45  // Inherited from QGraphicsView
46  virtual void resizeEvent(QResizeEvent* event);
47  virtual void paintEvent(QPaintEvent* event);
48 
49  private slots:
50  void fitToRect();
51  void onSceneRectChanged();
52 
53  private:
54  bool m_initialized;
55  QTimer* m_resizeTimer;
56  QPixmap m_resizePixmap;
57 };
58 
59 #endif // BOARDVIEW_H
BoardView(QGraphicsScene *scene, QWidget *parent=nullptr)
Definition: boardview.cpp:24
A view widget for displaying a QGraphicsScene.
Definition: boardview.h:32