Diffstat (limited to 'noncore/games/mindbreaker/mindbreaker.h') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/games/mindbreaker/mindbreaker.h | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/noncore/games/mindbreaker/mindbreaker.h b/noncore/games/mindbreaker/mindbreaker.h index fca649a..3132e80 100644 --- a/noncore/games/mindbreaker/mindbreaker.h +++ b/noncore/games/mindbreaker/mindbreaker.h @@ -1,20 +1,20 @@ /********************************************************************** -** Copyright (C) 2000 Trolltech AS. All rights reserved. +** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. ** -** This file is part of Qtopia Environment. +** This file is part of the 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. ** **********************************************************************/ @@ -38,85 +38,102 @@ static const int bin_margin = 10; static const int peg_size = 20; static const int answerpeg_size = 13; static const int first_peg_x_diff = 21; static const int first_peg_y_diff = ((panel_height - peg_size) >> 1); static const int peg_spacing = 30; static const int answerpegx = 152; static const int answerpegy = 2; static const int answerpeg_diff = 9; static const int board_height = (title_height + (panel_height * 9)); static const int board_width = (panel_width + (bin_margin * 2) + peg_size); class Peg; class QToolButton; +class QTimer; class MindBreakerBoard : public QCanvasView // QWidget { Q_OBJECT public: - MindBreakerBoard(QCanvas &c, QWidget *parent=0, const char *name=0, int wFlags=0 ); + MindBreakerBoard(QWidget *parent=0, const char *name=0, int wFlags=0 ); ~MindBreakerBoard(); void getScore(int *, int *); + + void resizeEvent(QResizeEvent*); + void fixSize(); + signals: void scoreChanged(int, int); public slots: void clear(); void resetScore(); +private slots: + void doFixSize(); + protected: void contentsMousePressEvent(QMouseEvent *); void contentsMouseMoveEvent(QMouseEvent *); void contentsMouseReleaseEvent(QMouseEvent *); - void resizeEvent(QResizeEvent *); private: + QCanvas cnv; + + void readConfig(); + void writeConfig(); + void drawBackground(); void checkGuess(); void checkScores(); void placeGuessPeg(int pos, int pegId); QImage panelImage; QImage titleImage; Peg *moving; Peg *current_highlight; QPoint moving_pos; // the game stuff int answer[4]; int current_guess[4]; int past_guesses[4*9]; int current_go; int null_press; QPoint null_point; bool copy_press; Peg *copy_peg; bool game_over; int total_turns; int total_games; + + QTimer *widthTimer; }; class MindBreaker : public QMainWindow // QWidget { Q_OBJECT public: MindBreaker(QWidget *parent=0, const char *name=0, int wFlags=0 ); - + static QString appName() { return QString::fromLatin1("mindbreaker"); } public slots: void setScore(int, int); +protected: + void resizeEvent( QResizeEvent * ); + private: QCanvas canvas; MindBreakerBoard *board; QToolButton *score; }; #endif |