/********************************************************************** ** Copyright (C) 2000 Trolltech AS. All rights reserved. ** ** This file is part of Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #ifndef QTETRIX_H #define QTETRIX_H #include "qtetrixb.h" #include #include #include #include #include class QLabel; 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 QMainWindow { Q_OBJECT public: static QString appName() { return QString::fromLatin1("tetrix"); } QTetrix( QWidget *parent=0, const char *name=0, WFlags f=0 ); void startGame() { board->startGame(); } public slots: void setup(); void gameOver(); void quit(); void setNext( int x, int y, QColor *color ); // void setScore( int score ); // void setLevel( int level ); // void setLines( int lines ); private: void keyPressEvent( QKeyEvent *e ) { board->keyPressEvent(e); } void resizeEvent( QResizeEvent * ); QTetrixBoard *board; ShowNextPiece *showNext; QLabel *showScore; QLabel *showLevel; QLabel *showLines; }; void drawTetrixButton( QPainter *, int x, int y, int w, int h, const QColor *color ); #endif