summaryrefslogtreecommitdiff
path: root/noncore/games/kbill/field.cpp
authormark <mark>2002-04-14 17:08:03 (UTC)
committer mark <mark>2002-04-14 17:08:03 (UTC)
commitbfeb067c8acfb5f1797fdc886ac71ca1b10ccf57 (patch) (side-by-side diff)
treead77e90c90f4bfb598bbe93aa4b3e14b689c96f4 /noncore/games/kbill/field.cpp
parenta0fe593db4e700989cc19e28b67a58f87823afeb (diff)
downloadopie-bfeb067c8acfb5f1797fdc886ac71ca1b10ccf57.zip
opie-bfeb067c8acfb5f1797fdc886ac71ca1b10ccf57.tar.gz
opie-bfeb067c8acfb5f1797fdc886ac71ca1b10ccf57.tar.bz2
Import of kbill
Diffstat (limited to 'noncore/games/kbill/field.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/kbill/field.cpp84
1 files changed, 84 insertions, 0 deletions
diff --git a/noncore/games/kbill/field.cpp b/noncore/games/kbill/field.cpp
new file mode 100644
index 0000000..a1b3560
--- a/dev/null
+++ b/noncore/games/kbill/field.cpp
@@ -0,0 +1,84 @@
+/***************************************************************************
+ field.cpp - description
+ -------------------
+ begin : Thu Dec 30 1999
+ copyright : (C) 1999 by Jurrien Loonstra
+ email : j.h.loonstra@st.hanze.nl
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include <qpainter.h>
+
+#include "objects.h"
+
+#include "field.h"
+
+Field::Field(QWidget *parent, const char *name ) : QWidget(parent,name) {
+ setFixedSize(game.scrwidth, game.scrheight);
+ setBackgroundColor(white);
+ timer = new QTimer(this);
+
+ playing = false;
+
+ connect(timer, SIGNAL(timeout()), SLOT(Timer()));
+}
+
+Field::~Field(){
+ delete timer;
+}
+
+void Field::setPixmap(QPixmap *pix) {
+ this->pix = pix;
+}
+
+// --------------------------------------------------------
+
+void Field::mousePressEvent(QMouseEvent *e){
+ game.button_press(e->x(), e->y());
+}
+
+void Field::mouseReleaseEvent(QMouseEvent *e){
+ game.button_release(e->x(), e->y());
+}
+
+void Field::enterEvent(QEvent *) {
+ if (playing && !timer->isActive()) {
+ playing = true;
+ timer->start(250, FALSE);
+ }
+}
+
+void Field::leaveEvent(QEvent *) {
+ if (timer->isActive() && playing) {
+ playing = true;
+ timer->stop();
+ }
+}
+
+void Field::stopTimer() {
+ playing = false;
+ if (timer->isActive())
+ timer->stop();
+}
+
+void Field::startTimer() {
+ playing = true;
+ if (!timer->isActive())
+ timer->start(250, FALSE);
+}
+
+void Field::Timer(){
+ game.update();
+}
+
+void Field::paintEvent(QPaintEvent *) {
+ bitBlt(this, 0, 0, pix);
+} \ No newline at end of file