/* GraphicDisplay class module the graphic display of the game Note: Xwindow may leak memory */ #ifndef _GRAPHICDISPLAY_H_ #define _GRAPHICDISPLAY_H_ #include #include #include #include #include #include #include "window.h" #include "display.h" #include "shapes.h" #include class GraphicDisplay : public BiquadrisDisplay { std::unique_ptr w; static std::map colors; void updateLevel(int boardId, int level); void updateScore(int boardId, int score); void updateHighScore(int highScore); void coverHint(); public: GraphicDisplay(int width, int height); void update(int _highScore) override; void update(int boardId, int score) override; void update(int boardId, int level, char nextBlock) override; void update(int boardId, int row, int col, char type) override; void setHint(std::string hint); void playerLoses() override; bool printable() override; }; #endif