diff options
Diffstat (limited to 'examples/tetrix/qtetrix.h')
-rw-r--r-- | examples/tetrix/qtetrix.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/examples/tetrix/qtetrix.h b/examples/tetrix/qtetrix.h new file mode 100644 index 0000000..3a84d9b --- /dev/null +++ b/examples/tetrix/qtetrix.h @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** 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 QTETRIX_H +#define QTETRIX_H + +#include "qtetrixb.h" +#include <qframe.h> +#include <qlcdnumber.h> +#include <qlabel.h> +#include <qpushbutton.h> +#include <qpainter.h> + + +class ShowNextPiece : public QFrame +{ + Q_OBJECT + friend class QTetrix; +public: + ShowNextPiece( QWidget *parent=0, const char *name=0 ); +public slots: + void drawNextSquare( int x, int y,QColor *color ); +signals: + void update(); +private: + void paintEvent( QPaintEvent * ); + void resizeEvent( QResizeEvent * ); + + int blockWidth,blockHeight; + int xOffset,yOffset; +}; + + +class QTetrix : public QWidget +{ + Q_OBJECT +public: + QTetrix( QWidget *parent=0, const char *name=0 ); + void startGame() { board->startGame(); } + +public slots: + void gameOver(); + void quit(); +private: + void keyPressEvent( QKeyEvent *e ) { board->keyPressEvent(e); } + + QTetrixBoard *board; + ShowNextPiece *showNext; +#ifndef QT_NO_LCDNUMBER + QLCDNumber *showScore; + QLCDNumber *showLevel; + QLCDNumber *showLines; +#else + QLabel *showScore; + QLabel *showLevel; + QLabel *showLines; +#endif + QPushButton *quitButton; + QPushButton *startButton; + QPushButton *pauseButton; +}; + + +void drawTetrixButton( QPainter *, int x, int y, int w, int h, + const QColor *color, QWidget *widg); + + +#endif |