File indexing completed on 2024-05-05 08:05:20
0001 /****************************************************************************** 0002 * KBlocks, a falling blocks game by KDE * 0003 * SPDX-FileCopyrightText: 2009-2021 Julian Helfferich <julian.helfferich@mailbox.org> * 0004 * * 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 ******************************************************************************/ 0007 0008 #ifndef SCENEINTERFACE_H 0009 #define SCENEINTERFACE_H 0010 0011 #include <QGraphicsScene> 0012 0013 class KGameTheme; 0014 0015 class SceneInterface : public QGraphicsScene 0016 { 0017 Q_OBJECT 0018 public: 0019 SceneInterface(); 0020 ~SceneInterface() override = default; 0021 0022 public: 0023 virtual void createGameItemGroups(int, bool snapshotMode = false) = 0; 0024 virtual void deleteGameItemGroups() = 0; 0025 virtual void setGamesPerLine(int) = 0; 0026 virtual void setGameAnimEnabled(bool) = 0; 0027 virtual void setWaitForAllUpdate(bool) = 0; 0028 virtual void setUpdateInterval(int) = 0; 0029 virtual void setSoundsEnabled(bool) = 0; 0030 virtual void readSettings() = 0; 0031 virtual void loadTheme(const KGameTheme *theme) = 0; 0032 virtual void startGame() = 0; 0033 virtual void stopGame() = 0; 0034 virtual void pauseGame(bool, bool fromUI = false) = 0; 0035 virtual void addScore(int, int) = 0; 0036 0037 Q_SIGNALS: 0038 void scoreChanged(int index, int points, int lines, int level); 0039 void isHighscore(int index, int points, int level); 0040 0041 public Q_SLOTS: 0042 virtual void playMoveSound() = 0; 0043 virtual void playDropSound() = 0; 0044 }; 0045 0046 #endif // SCENEINTERFACE_H