24 #include <QtCore/QString>
25 #include <QtCore/QObject>
27 #include "../libkdegamesprivate_export.h"
36 class KGameKeyIOPrivate;
37 class KGameMouseIOPrivate;
38 class KGameProcessIOPrivate;
39 class KGameComputerIOPrivate;
85 enum IOMode {GenericIO=1,KeyIO=2,MouseIO=4,ProcessIO=8,ComputerIO=16};
92 virtual int rtti()
const = 0;
125 virtual void initIO(
KPlayer *p);
136 virtual void notifyTurn(
bool b);
141 bool sendInput(QDataStream& stream,
bool transmit =
true, quint32 sender = 0);
175 void signalPrepareTurn(QDataStream & stream,
bool turn,
KGameIO *io,
bool * send);
179 friend class KGameIOPrivate;
180 KGameIOPrivate *
const d;
225 virtual int rtti()
const;
249 void signalKeyEvent(
KGameIO *io,QDataStream &stream,QKeyEvent *m,
bool *eatevent);
255 bool eventFilter(
QObject *o, QEvent *e );
258 friend class KGameKeyIOPrivate;
259 KGameKeyIOPrivate *
const d;
291 explicit KGameMouseIO(QWidget *parent,
bool trackmouse=
false);
292 explicit KGameMouseIO(QGraphicsScene *parent,
bool trackmouse=
false);
300 void setMouseTracking(
bool b);
306 virtual int rtti()
const;
328 void signalMouseEvent(
KGameIO *io,QDataStream &stream,QMouseEvent *m,
bool *eatevent);
334 bool eventFilter(
QObject *o, QEvent *e );
337 friend class KGameMouseIOPrivate;
338 KGameMouseIOPrivate *
const d;
397 void sendMessage(QDataStream &stream,
int msgid, quint32 receiver, quint32 sender);
409 void sendSystemMessage(QDataStream &stream,
int msgid, quint32 receiver, quint32 sender);
436 void sendAllMessages(QDataStream &stream,
int msgid, quint32 receiver, quint32 sender,
bool usermsg);
442 void receivedMessage(
const QByteArray& receiveBuffer);
481 void signalIOAdded(
KGameIO *game,QDataStream &stream,
KPlayer *p,
bool *send);
486 void signalReceivedStderr(QString msg);
489 friend class KGameProcessIOPrivate;
490 KGameProcessIOPrivate *
const d;
532 void setReactionPeriod(
int advanceCalls);
533 int reactionPeriod()
const;
538 void setAdvancePeriod(
int ms);
540 void stopAdvancePeriod();
554 void pause(
int calls = -1);
578 virtual void advance();
585 void signalReaction();
591 virtual void reaction();
594 friend class KGameComputerIOPrivate;
595 KGameComputerIOPrivate *
const d;
virtual int rtti() const =0
Run time idendification.
virtual void notifyTurn(bool b)
Notifies the IO device that the player's setTurn had been called Called by KPlayer.
The KGameProcessIO class.
IOMode
Identifies the KGameIO via the rtti function.
virtual void initIO(KPlayer *p)
Init this device by setting the player and e.g.
Base class for a game player.
The main KDE game object.
KGameIO variant for real-time games.
Base class for IO devices for games.