diff options
Diffstat (limited to 'examples/tetrix/qtetrixb.h')
-rw-r--r-- | examples/tetrix/qtetrixb.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/examples/tetrix/qtetrixb.h b/examples/tetrix/qtetrixb.h new file mode 100644 index 0000000..5db6bab --- /dev/null +++ b/examples/tetrix/qtetrixb.h @@ -0,0 +1,69 @@ +/**************************************************************************** +** +** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. +** +** This file is part of an example program for Qt. This example +** program may be used, distributed and modified without limitation. +** +*****************************************************************************/ + +#ifndef QTETRIXB_H +#define QTETRIXB_H + +#include "gtetrix.h" +#include <qframe.h> + +class QTimer; + +class QTetrixBoard : public QFrame, public GenericTetrix +{ + Q_OBJECT +public: + QTetrixBoard( QWidget *parent=0, const char *name=0 ); + + void gameOver(); + void startGame(int gameType = 0,int fillRandomLines = 0); + +public slots: + void timeout(); + void updateNext() { GenericTetrix::updateNext(); } + void key(QKeyEvent *e) { keyPressEvent(e); } + void start() { startGame(); } + void pause(); + +signals: + void gameOverSignal(); + void drawNextSquareSignal(int x,int y,QColor *color1); + void updateRemovedSignal(int noOfLines); + void updateScoreSignal(int score); + void updateLevelSignal(int level); + +public: // until we have keyboard focus, should be protected + void keyPressEvent( QKeyEvent * ); + +private: + void drawContents( QPainter * ); + void resizeEvent( QResizeEvent * ); + void drawSquare(int x,int y,int value); + void drawNextSquare(int x,int y,int value); + void updateRemoved(int noOfLines); + void updateScore(int newScore); + void updateLevel(int newLlevel); + void pieceDropped(int dropHeight); + void updateTimeoutTime(); + + QTimer *timer; + + int xOffset,yOffset; + int blockWidth,blockHeight; + int timeoutTime; + bool noGame; + bool isPaused; + bool waitingAfterLine; + + QColor colors[7]; + QPainter *paint; + QWidget *paint_widget; +}; + +#endif |