• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • libtdegames
 

libtdegames

  • libtdegames
  • kgame
kgameio.h
1 /*
2  This file is part of the TDE games library
3  Copyright (C) 2001 Martin Heni (martin@heni-online.de)
4  Copyright (C) 2001 Andreas Beckermann (b_mann@gmx.de)
5 
6  This library is free software; you can redistribute it and/or
7  modify it under the terms of the GNU Library General Public
8  License version 2 as published by the Free Software Foundation.
9 
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Library General Public License for more details.
14 
15  You should have received a copy of the GNU Library General Public License
16  along with this library; see the file COPYING.LIB. If not, write to
17  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  Boston, MA 02110-1301, USA.
19 */
20 /*
21  $Id$
22 */
23 #ifndef __KGAMEIO_H__
24 #define __KGAMEIO_H__
25 
26 #include <tqstring.h>
27 #include <tqobject.h>
28 #include <tdemacros.h>
29 class KPlayer;
30 class KGame;
31 class TDEProcess;
32 
55 class TDE_EXPORT KGameIO : public TQObject
56 {
57  TQ_OBJECT
58 
59 
60 public:
64  KGameIO();
65  KGameIO(KPlayer*);
66  virtual ~KGameIO();
67 
71  void Debug();
72 
76  enum IOMode {GenericIO=1,KeyIO=2,MouseIO=4,ProcessIO=8,ComputerIO=16};
83  virtual int rtti() const = 0; // Computer, network, local, ...
84 
90  KPlayer *player() const {return mPlayer;}
91 
96  KGame* game() const;
97 
105  void setPlayer(KPlayer *p) {mPlayer=p;}
106 
116  virtual void initIO(KPlayer *p);
117 
127  virtual void notifyTurn(bool b);
128 
132  bool sendInput(TQDataStream& stream, bool transmit = true, TQ_UINT32 sender = 0);
133 
134 signals:
166  void signalPrepareTurn(TQDataStream & stream, bool turn, KGameIO *io, bool * send);
167 
168 
169 private:
170  KPlayer *mPlayer;
171 };
172 
178 class TDE_EXPORT KGameKeyIO : public KGameIO
179 {
180  TQ_OBJECT
181 
182 
183 public:
204  KGameKeyIO(TQWidget *parent);
205  virtual ~KGameKeyIO();
206 
212  virtual int rtti() const;
213 
214 signals:
236  void signalKeyEvent(KGameIO *io,TQDataStream &stream,TQKeyEvent *m,bool *eatevent);
237 
238 protected:
242  bool eventFilter( TQObject *o, TQEvent *e );
243 };
244 
250 class TDE_EXPORT KGameMouseIO : public KGameIO
251 {
252  TQ_OBJECT
253 
254 
255 public:
271  KGameMouseIO(TQWidget *parent,bool trackmouse=false);
272  virtual ~KGameMouseIO();
273 
279  void setMouseTracking(bool b);
285  virtual int rtti() const;
286 
287 signals:
307  void signalMouseEvent(KGameIO *io,TQDataStream &stream,TQMouseEvent *m,bool *eatevent);
308 
309 protected:
313  bool eventFilter( TQObject *o, TQEvent *e );
314 
315 };
316 
317 
326 class TDE_EXPORT KGameProcessIO : public KGameIO
327 {
328  TQ_OBJECT
329 
330 
331 public:
347  KGameProcessIO(const TQString& name);
348 
352  virtual ~KGameProcessIO();
353 
359  int rtti() const;
360 
371  void sendMessage(TQDataStream &stream,int msgid, TQ_UINT32 receiver, TQ_UINT32 sender);
372 
383  void sendSystemMessage(TQDataStream &stream, int msgid, TQ_UINT32 receiver, TQ_UINT32 sender);
384 
393  void initIO(KPlayer *p);
394 
404  virtual void notifyTurn(bool turn);
405 
406  protected:
410  void sendAllMessages(TQDataStream &stream,int msgid, TQ_UINT32 receiver, TQ_UINT32 sender, bool usermsg);
411 
412  protected slots:
416  void receivedMessage(const TQByteArray& receiveBuffer);
417 
418 
419 signals:
443  void signalProcessQuery(TQDataStream &stream,KGameProcessIO *me);
444 
455  void signalIOAdded(KGameIO *game,TQDataStream &stream,KPlayer *p,bool *send);
456 
457 
458 protected:
459 
460 private:
461  class KGameProcessIOPrivate;
462  KGameProcessIOPrivate* d;
463 };
464 
481 class TDE_EXPORT KGameComputerIO : public KGameIO
482 {
483  TQ_OBJECT
484 
485 
486 public:
491  KGameComputerIO();
492  KGameComputerIO(KPlayer* player);
493  ~KGameComputerIO();
494 
495  int rtti() const;
496 
501  void setReactionPeriod(int advanceCalls);
502  int reactionPeriod() const;
503 
507  void setAdvancePeriod(int ms);
508 
509  void stopAdvancePeriod();
510 
523  void pause(int calls = -1);
524 
529  void unpause();
530 
531 public slots:
547  virtual void advance();
548 
549 signals:
554  void signalReaction();
555 
556 protected:
560  virtual void reaction();
561 
562 private:
563  void init();
564 
565 private:
566  class KGameComputerIOPrivate;
567  KGameComputerIOPrivate* d;
568 };
569 
570 
571 #endif
KGameIO::rtti
virtual int rtti() const =0
Run time idendification.
KGameIO::notifyTurn
virtual void notifyTurn(bool b)
Notifies the IO device that the player&#39;s setTurn had been called Called by KPlayer.
Definition: kgameio.cpp:71
KGameIO::player
KPlayer * player() const
This function returns the player who owns this IO.
Definition: kgameio.h:90
KGameProcessIO
The KGameProcessIO class.
Definition: kgameio.h:326
KGameMouseIO
The KGameMouseIO class.
Definition: kgameio.h:250
KGameIO::IOMode
IOMode
Identifies the KGameIO via the rtti function.
Definition: kgameio.h:76
KGameIO::setPlayer
void setPlayer(KPlayer *p)
Sets the player to which this IO belongs to.
Definition: kgameio.h:105
KGameIO::initIO
virtual void initIO(KPlayer *p)
Init this device by setting the player and e.g.
Definition: kgameio.cpp:66
KPlayer
Base class for a game player.
Definition: kplayer.h:69
KGame
The main KDE game object.
Definition: kgame.h:62
KGameComputerIO
KGameIO variant for real-time games.
Definition: kgameio.h:481
KGameKeyIO
The KGameKeyIO class.
Definition: kgameio.h:178
KGameIO
Base class for IO devices for games.
Definition: kgameio.h:55

libtdegames

Skip menu "libtdegames"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

libtdegames

Skip menu "libtdegames"
  • libtdegames
Generated for libtdegames by doxygen 1.8.13
This website is maintained by Timothy Pearson.