Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

IPlatformScreen.h

00001 /*
00002  * synergy -- mouse and keyboard sharing utility
00003  * Copyright (C) 2002 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 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     // IScreen overrides
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     // IPrimaryScreen overrides
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     // ISecondaryScreen overrides
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     // IKeyState overrides
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

Generated on Fri Nov 6 00:21:15 2009 for synergy-plus by  doxygen 1.3.9.1