00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef ICLIENT_H
00016 #define ICLIENT_H
00017
00018 #include "IScreen.h"
00019 #include "ClipboardTypes.h"
00020 #include "KeyTypes.h"
00021 #include "MouseTypes.h"
00022 #include "OptionTypes.h"
00023 #include "CString.h"
00024
00026
00030 class IClient : public IScreen {
00031 public:
00033
00034
00036
00043 virtual void enter(SInt32 xAbs, SInt32 yAbs,
00044 UInt32 seqNum, KeyModifierMask mask,
00045 bool forScreensaver) = 0;
00046
00048
00052 virtual bool leave() = 0;
00053
00055
00061 virtual void setClipboard(ClipboardID, const IClipboard*) = 0;
00062
00064
00069 virtual void grabClipboard(ClipboardID) = 0;
00070
00072
00076 virtual void setClipboardDirty(ClipboardID, bool dirty) = 0;
00077
00079
00087 virtual void keyDown(KeyID id, KeyModifierMask, KeyButton) = 0;
00088
00090
00094 virtual void keyRepeat(KeyID id, KeyModifierMask,
00095 SInt32 count, KeyButton) = 0;
00096
00098
00102 virtual void keyUp(KeyID id, KeyModifierMask, KeyButton) = 0;
00103
00105
00108 virtual void mouseDown(ButtonID id) = 0;
00109
00111
00114 virtual void mouseUp(ButtonID id) = 0;
00115
00117
00121 virtual void mouseMove(SInt32 xAbs, SInt32 yAbs) = 0;
00122
00124
00128 virtual void mouseRelativeMove(SInt32 xRel, SInt32 yRel) = 0;
00129
00131
00137 virtual void mouseWheel(SInt32 xDelta, SInt32 yDelta) = 0;
00138
00140 virtual void screensaver(bool activate) = 0;
00141
00143
00146 virtual void resetOptions() = 0;
00147
00149
00153 virtual void setOptions(const COptionsList& options) = 0;
00154
00156
00157
00158
00160
00163 virtual CString getName() const = 0;
00164
00166
00167
00168 virtual void* getEventTarget() const = 0;
00169 virtual bool getClipboard(ClipboardID id, IClipboard*) const = 0;
00170 virtual void getShape(SInt32& x, SInt32& y,
00171 SInt32& width, SInt32& height) const = 0;
00172 virtual void getCursorPos(SInt32& x, SInt32& y) const = 0;
00173 };
00174
00175 #endif