00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef CPLATFORMSCREEN_H
00016 #define CPLATFORMSCREEN_H
00017
00018 #include "IPlatformScreen.h"
00019
00021
00026 class CPlatformScreen : public IPlatformScreen {
00027 public:
00028 CPlatformScreen();
00029 virtual ~CPlatformScreen();
00030
00031
00032 virtual void* getEventTarget() const = 0;
00033 virtual bool getClipboard(ClipboardID id, IClipboard*) const = 0;
00034 virtual void getShape(SInt32& x, SInt32& y,
00035 SInt32& width, SInt32& height) const = 0;
00036 virtual void getCursorPos(SInt32& x, SInt32& y) const = 0;
00037
00038
00039 virtual void reconfigure(UInt32 activeSides) = 0;
00040 virtual void warpCursor(SInt32 x, SInt32 y) = 0;
00041 virtual UInt32 registerHotKey(KeyID key,
00042 KeyModifierMask mask) = 0;
00043 virtual void unregisterHotKey(UInt32 id) = 0;
00044 virtual void fakeInputBegin() = 0;
00045 virtual void fakeInputEnd() = 0;
00046 virtual SInt32 getJumpZoneSize() const = 0;
00047 virtual bool isAnyMouseButtonDown() const = 0;
00048 virtual void getCursorCenter(SInt32& x, SInt32& y) const = 0;
00049
00050
00051 virtual void fakeMouseButton(ButtonID id, bool press) const = 0;
00052 virtual void fakeMouseMove(SInt32 x, SInt32 y) const = 0;
00053 virtual void fakeMouseRelativeMove(SInt32 dx, SInt32 dy) const = 0;
00054 virtual void fakeMouseWheel(SInt32 xDelta, SInt32 yDelta) const = 0;
00055
00056
00057 virtual void updateKeyMap();
00058 virtual void updateKeyState();
00059 virtual void setHalfDuplexMask(KeyModifierMask);
00060 virtual void fakeKeyDown(KeyID id, KeyModifierMask mask,
00061 KeyButton button);
00062 virtual void fakeKeyRepeat(KeyID id, KeyModifierMask mask,
00063 SInt32 count, KeyButton button);
00064 virtual void fakeKeyUp(KeyButton button);
00065 virtual void fakeAllKeysUp();
00066 virtual bool fakeCtrlAltDel();
00067 virtual bool isKeyDown(KeyButton) const;
00068 virtual KeyModifierMask
00069 getActiveModifiers() const;
00070 virtual KeyModifierMask
00071 pollActiveModifiers() const;
00072 virtual SInt32 pollActiveGroup() const;
00073 virtual void pollPressedKeys(KeyButtonSet& pressedKeys) const;
00074
00075
00076 virtual void enable() = 0;
00077 virtual void disable() = 0;
00078 virtual void enter() = 0;
00079 virtual bool leave() = 0;
00080 virtual bool setClipboard(ClipboardID, const IClipboard*) = 0;
00081 virtual void checkClipboards() = 0;
00082 virtual void openScreensaver(bool notify) = 0;
00083 virtual void closeScreensaver() = 0;
00084 virtual void screensaver(bool activate) = 0;
00085 virtual void resetOptions() = 0;
00086 virtual void setOptions(const COptionsList& options) = 0;
00087 virtual void setSequenceNumber(UInt32) = 0;
00088 virtual bool isPrimary() const = 0;
00089
00090 protected:
00092
00096 virtual void updateButtons() = 0;
00097
00099
00103 virtual IKeyState* getKeyState() const = 0;
00104
00105
00106 virtual void handleSystemEvent(const CEvent& event, void*) = 0;
00107 };
00108
00109 #endif