00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef IPLATFORMSCREEN_H
00016 #define IPLATFORMSCREEN_H
00017
00018 #include "IScreen.h"
00019 #include "IPrimaryScreen.h"
00020 #include "ISecondaryScreen.h"
00021 #include "IKeyState.h"
00022 #include "ClipboardTypes.h"
00023 #include "OptionTypes.h"
00024
00025 class IClipboard;
00026
00028
00033 class IPlatformScreen : public IScreen,
00034 public IPrimaryScreen, public ISecondaryScreen,
00035 public IKeyState {
00036 public:
00038
00039
00041
00046 virtual void enable() = 0;
00047
00049
00053 virtual void disable() = 0;
00054
00056
00059 virtual void enter() = 0;
00060
00062
00068 virtual bool leave() = 0;
00069
00071
00074 virtual bool setClipboard(ClipboardID id, const IClipboard*) = 0;
00075
00077
00082 virtual void checkClipboards() = 0;
00083
00085
00091 virtual void openScreensaver(bool notify) = 0;
00092
00094
00099 virtual void closeScreensaver() = 0;
00100
00102
00106 virtual void screensaver(bool activate) = 0;
00107
00109
00112 virtual void resetOptions() = 0;
00113
00115
00119 virtual void setOptions(const COptionsList& options) = 0;
00120
00122
00125 virtual void setSequenceNumber(UInt32) = 0;
00126
00128
00129
00130
00132
00135 virtual bool isPrimary() const = 0;
00136
00138
00139
00140 virtual void* getEventTarget() const = 0;
00141 virtual bool getClipboard(ClipboardID id, IClipboard*) const = 0;
00142 virtual void getShape(SInt32& x, SInt32& y,
00143 SInt32& width, SInt32& height) const = 0;
00144 virtual void getCursorPos(SInt32& x, SInt32& y) const = 0;
00145
00146
00147 virtual void reconfigure(UInt32 activeSides) = 0;
00148 virtual void warpCursor(SInt32 x, SInt32 y) = 0;
00149 virtual UInt32 registerHotKey(KeyID key, KeyModifierMask mask) = 0;
00150 virtual void unregisterHotKey(UInt32 id) = 0;
00151 virtual void fakeInputBegin() = 0;
00152 virtual void fakeInputEnd() = 0;
00153 virtual SInt32 getJumpZoneSize() const = 0;
00154 virtual bool isAnyMouseButtonDown() const = 0;
00155 virtual void getCursorCenter(SInt32& x, SInt32& y) const = 0;
00156
00157
00158 virtual void fakeMouseButton(ButtonID id, bool press) const = 0;
00159 virtual void fakeMouseMove(SInt32 x, SInt32 y) const = 0;
00160 virtual void fakeMouseRelativeMove(SInt32 dx, SInt32 dy) const = 0;
00161 virtual void fakeMouseWheel(SInt32 xDelta, SInt32 yDelta) const = 0;
00162
00163
00164 virtual void updateKeyMap() = 0;
00165 virtual void updateKeyState() = 0;
00166 virtual void setHalfDuplexMask(KeyModifierMask) = 0;
00167 virtual void fakeKeyDown(KeyID id, KeyModifierMask mask,
00168 KeyButton button) = 0;
00169 virtual void fakeKeyRepeat(KeyID id, KeyModifierMask mask,
00170 SInt32 count, KeyButton button) = 0;
00171 virtual void fakeKeyUp(KeyButton button) = 0;
00172 virtual void fakeAllKeysUp() = 0;
00173 virtual bool fakeCtrlAltDel() = 0;
00174 virtual bool isKeyDown(KeyButton) const = 0;
00175 virtual KeyModifierMask
00176 getActiveModifiers() const = 0;
00177 virtual KeyModifierMask
00178 pollActiveModifiers() const = 0;
00179 virtual SInt32 pollActiveGroup() const = 0;
00180 virtual void pollPressedKeys(KeyButtonSet& pressedKeys) const = 0;
00181
00182 protected:
00184
00207 virtual void handleSystemEvent(const CEvent& event, void*) = 0;
00208 };
00209
00210 #endif