• 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>
29class KPlayer;
30class KGame;
31class TDEProcess;
32
55class TDE_EXPORT KGameIO : public TQObject
56{
57 TQ_OBJECT
58
59
60public:
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
134signals:
166 void signalPrepareTurn(TQDataStream & stream, bool turn, KGameIO *io, bool * send);
167
168
169private:
170 KPlayer *mPlayer;
171};
172
178class TDE_EXPORT KGameKeyIO : public KGameIO
179{
180 TQ_OBJECT
181
182
183public:
204 KGameKeyIO(TQWidget *parent);
205 virtual ~KGameKeyIO();
206
212 virtual int rtti() const;
213
214signals:
236 void signalKeyEvent(KGameIO *io,TQDataStream &stream,TQKeyEvent *m,bool *eatevent);
237
238protected:
242 bool eventFilter( TQObject *o, TQEvent *e );
243};
244
250class TDE_EXPORT KGameMouseIO : public KGameIO
251{
252 TQ_OBJECT
253
254
255public:
271 KGameMouseIO(TQWidget *parent,bool trackmouse=false);
272 virtual ~KGameMouseIO();
273
279 void setMouseTracking(bool b);
285 virtual int rtti() const;
286
287signals:
307 void signalMouseEvent(KGameIO *io,TQDataStream &stream,TQMouseEvent *m,bool *eatevent);
308
309protected:
313 bool eventFilter( TQObject *o, TQEvent *e );
314
315};
316
317
326class TDE_EXPORT KGameProcessIO : public KGameIO
327{
328 TQ_OBJECT
329
330
331public:
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
419signals:
443 void signalProcessQuery(TQDataStream &stream,KGameProcessIO *me);
444
455 void signalIOAdded(KGameIO *game,TQDataStream &stream,KPlayer *p,bool *send);
456
457
458protected:
459
460private:
461 class KGameProcessIOPrivate;
462 KGameProcessIOPrivate* d;
463};
464
481class TDE_EXPORT KGameComputerIO : public KGameIO
482{
483 TQ_OBJECT
484
485
486public:
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
531public slots:
547 virtual void advance();
548
549signals:
554 void signalReaction();
555
556protected:
560 virtual void reaction();
561
562private:
563 void init();
564
565private:
566 class KGameComputerIOPrivate;
567 KGameComputerIOPrivate* d;
568};
569
570
571#endif
KGameComputerIO::signalReaction
void signalReaction()
This signal is emitted when your computer player is meant to do something, or better is meant to be a...
KGameComputerIO::setAdvancePeriod
void setAdvancePeriod(int ms)
Start a TQTimer which calls advance every ms milli seconds.
Definition kgameio.cpp:488
KGameComputerIO::advance
virtual void advance()
Works kind of similar to TQCanvas::advance.
Definition kgameio.cpp:515
KGameComputerIO::rtti
int rtti() const
Run time idendification.
Definition kgameio.cpp:473
KGameComputerIO::unpause
void unpause()
Equivalent to pause(0).
Definition kgameio.cpp:510
KGameComputerIO::pause
void pause(int calls=-1)
Ignore calls number of advance calls.
Definition kgameio.cpp:505
KGameComputerIO::KGameComputerIO
KGameComputerIO()
Creates a LOCAL computer player.
Definition kgameio.cpp:449
KGameComputerIO::setReactionPeriod
void setReactionPeriod(int advanceCalls)
The number of advance calls until the player (or rather: the IO) does something (default: 1).
Definition kgameio.cpp:478
KGameComputerIO::reaction
virtual void reaction()
Default implementation simply emits signalReaction.
Definition kgameio.cpp:534
KGameIO::KGameIO
KGameIO()
Constructs a KGameIO object.
Definition kgameio.cpp:40
KGameIO::player
KPlayer * player() const
This function returns the player who owns this IO.
Definition kgameio.h:90
KGameIO::setPlayer
void setPlayer(KPlayer *p)
Sets the player to which this IO belongs to.
Definition kgameio.h:105
KGameIO::signalPrepareTurn
void signalPrepareTurn(TQDataStream &stream, bool turn, KGameIO *io, bool *send)
Signal generated when KPlayer::myTurn changes.
KGameIO::Debug
void Debug()
Gives debug output of the game status.
Definition kgameio.cpp:109
KGameIO::rtti
virtual int rtti() const =0
Run time idendification.
KGameIO::IOMode
IOMode
Identifies the KGameIO via the rtti function.
Definition kgameio.h:76
KGameIO::game
KGame * game() const
Equivalent to player()->game().
Definition kgameio.cpp:91
KGameKeyIO::rtti
virtual int rtti() const
The idendification of the IO.
Definition kgameio.cpp:138
KGameKeyIO::KGameKeyIO
KGameKeyIO(TQWidget *parent)
Create a keyboard input devices.
Definition kgameio.cpp:120
KGameKeyIO::signalKeyEvent
void signalKeyEvent(KGameIO *io, TQDataStream &stream, TQKeyEvent *m, bool *eatevent)
Signal handler for keyboard events.
KGameKeyIO::eventFilter
bool eventFilter(TQObject *o, TQEvent *e)
Internal method to process the events.
Definition kgameio.cpp:140
KGameMouseIO::setMouseTracking
void setMouseTracking(bool b)
Manually activate or deactivate mouse tracking.
Definition kgameio.cpp:194
KGameMouseIO::eventFilter
bool eventFilter(TQObject *o, TQEvent *e)
Internal event filter.
Definition kgameio.cpp:202
KGameMouseIO::signalMouseEvent
void signalMouseEvent(KGameIO *io, TQDataStream &stream, TQMouseEvent *m, bool *eatevent)
Signal handler for mouse events.
KGameMouseIO::rtti
virtual int rtti() const
The idendification of the IO.
Definition kgameio.cpp:189
KGameMouseIO::KGameMouseIO
KGameMouseIO(TQWidget *parent, bool trackmouse=false)
Creates a mouse IO device.
Definition kgameio.cpp:170
KGameProcessIO::signalIOAdded
void signalIOAdded(KGameIO *game, TQDataStream &stream, KPlayer *p, bool *send)
Signal generated when the computer player is added.
KGameProcessIO::rtti
int rtti() const
The idendification of the IO.
Definition kgameio.cpp:294
KGameProcessIO::initIO
void initIO(KPlayer *p)
Init this device by setting the player and e.g.
Definition kgameio.cpp:299
KGameProcessIO::KGameProcessIO
KGameProcessIO(const TQString &name)
Creates a computer player via a separate process.
Definition kgameio.cpp:252
KGameProcessIO::receivedMessage
void receivedMessage(const TQByteArray &receiveBuffer)
Internal message handler to receive data from the process.
Definition kgameio.cpp:381
KGameProcessIO::sendSystemMessage
void sendSystemMessage(TQDataStream &stream, int msgid, TQ_UINT32 receiver, TQ_UINT32 sender)
Send a system message to the process.
Definition kgameio.cpp:341
KGameProcessIO::signalProcessQuery
void signalProcessQuery(TQDataStream &stream, KGameProcessIO *me)
A computer query message is received.
KGameProcessIO::notifyTurn
virtual void notifyTurn(bool turn)
Notifies the IO device that the player's setTurn had been called Called by KPlayer.
Definition kgameio.cpp:321
KGameProcessIO::sendMessage
void sendMessage(TQDataStream &stream, int msgid, TQ_UINT32 receiver, TQ_UINT32 sender)
Send a message to the process.
Definition kgameio.cpp:346
KGameProcessIO::sendAllMessages
void sendAllMessages(TQDataStream &stream, int msgid, TQ_UINT32 receiver, TQ_UINT32 sender, bool usermsg)
Internal ~ombined function for all message handling.
Definition kgameio.cpp:351
KGame
The main KDE game object.
Definition kgame.h:63
KPlayer
Base class for a game player.
Definition kplayer.h:70

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.15.0
This website is maintained by Timothy Pearson.