CPlatformScreen.h

00001 /*
00002  * synergy -- mouse and keyboard sharing utility
00003  * Copyright (C) 2004 Chris Schoeneman
00004  * 
00005  * This package is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU General Public License
00007  * found in the file COPYING that should have accompanied this file.
00008  * 
00009  * This package is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
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     // IScreen overrides
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     // IPrimaryScreen overrides
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     // ISecondaryScreen overrides
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     // IKeyState overrides
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     // IPlatformScreen overrides
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     // IPlatformScreen overrides
00106     virtual void        handleSystemEvent(const CEvent& event, void*) = 0;
00107 };
00108 
00109 #endif

Generated on Fri Nov 6 00:18:45 2009 for synergy-plus by  doxygen 1.4.7