windowing/windowserver/nga/SERVER/openwfc/server.h
changeset 152 9f1c3fea0f87
parent 110 7f25ef56562d
equal deleted inserted replaced
111:29ddb8a72f0e 152:9f1c3fea0f87
     1 // Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    25 #include <bitdev.h>
    25 #include <bitdev.h>
    26 #include <e32svr.h>
    26 #include <e32svr.h>
    27 #include "OBJECT.H"
    27 #include "OBJECT.H"
    28 #include "CLIENT.H"
    28 #include "CLIENT.H"
    29 #include "ScrDev.H"
    29 #include "ScrDev.H"
    30 #include <Graphics/WSGRAPHICDRAWERINTERFACE.H>
    30 #include <graphics/wskeyrouter.h>
    31 #include "Graphics/wsgraphicdrawerinternal.h"
    31 #include <graphics/WSGRAPHICDRAWERINTERFACE.H>
       
    32 #include "graphics/wsgraphicdrawerinternal.h"
    32 #include "WSGRAPHICDRAWERARRAY.H"
    33 #include "WSGRAPHICDRAWERARRAY.H"
    33 #include "panics.h"
    34 #include "panics.h"
    34 
    35 
    35 class CWsGc;
    36 class CWsGc;
    36 class CWsDirectScreenAccess;
    37 class CWsDirectScreenAccess;
   149 	void SetL(const TWsWinCmdCaptureKey &aCaptureKey);
   150 	void SetL(const TWsWinCmdCaptureKey &aCaptureKey);
   150 	void CommandL(TInt aOpcode, const TAny *aCmdData);
   151 	void CommandL(TInt aOpcode, const TAny *aCmdData);
   151 	inline CWsWindowGroup *WindowGroup();
   152 	inline CWsWindowGroup *WindowGroup();
   152 	inline const CWsWindowGroup *WindowGroup() const;
   153 	inline const CWsWindowGroup *WindowGroup() const;
   153 private:
   154 private:
   154 	void CmdToParams(const TWsWinCmdCaptureKey &aCaptureKey, TCaptureKey &aParams);
   155 	void CmdToRequest(const TWsWinCmdCaptureKey &aCaptureKey, TKeyCaptureRequest &aParams);
   155 private:
   156 private:
   156 	CWsWindowGroup *iWindowGroup;
   157 	CWsWindowGroup *iWindowGroup;
   157 	};
   158 	};
   158 
   159 
   159 class CWsHotKey : public CBase
   160 class CWsHotKey : public CBase
   180 public:
   181 public:
   181 	CWsCaptureKeyUpsAndDowns(CWsWindowGroup *owner);
   182 	CWsCaptureKeyUpsAndDowns(CWsWindowGroup *owner);
   182 	~CWsCaptureKeyUpsAndDowns();
   183 	~CWsCaptureKeyUpsAndDowns();
   183 	void ConstructL(const TWsWinCmdCaptureKey &aCaptureKey);
   184 	void ConstructL(const TWsWinCmdCaptureKey &aCaptureKey);
   184 	void CommandL(TInt aOpcode, const TAny *aCmdData);
   185 	void CommandL(TInt aOpcode, const TAny *aCmdData);
   185 	static CWsWindowGroup *CheckForCapture(TUint aScanCode, TUint aModifiers);
       
   186 	inline CWsWindowGroup *WindowGroup();
   186 	inline CWsWindowGroup *WindowGroup();
   187 	inline const CWsWindowGroup *WindowGroup() const;
   187 	inline const CWsWindowGroup *WindowGroup() const;
   188 private:
   188 private:
   189 	TUint iModifierValue;
       
   190 	TUint iModifierMask;
       
   191 	TUint iScanCode;
       
   192 	static TPriQue<CWsCaptureKeyUpsAndDowns> iCaptureKeysUpsAndDowns;
       
   193 	TPriQueLink iLink;
       
   194 	CWsWindowGroup *iWindowGroup;
   189 	CWsWindowGroup *iWindowGroup;
   195 	};
   190 	};
   196 
   191 
   197 class CWsCaptureLongKey : public CWsObject
   192 class CWsCaptureLongKey : public CWsObject
   198 	{
   193 	{
   199 	friend class CKeyboardRepeat;
   194 	friend class CKeyboardRepeat;
       
   195 	friend class TWindowServerEvent;
   200 public:
   196 public:
   201 	CWsCaptureLongKey(CWsWindowGroup *owner);
   197 	CWsCaptureLongKey(CWsWindowGroup *owner);
   202 	~CWsCaptureLongKey();
   198 	~CWsCaptureLongKey();
   203 	void ConstructL(const TWsWinCmdCaptureLongKey &aCaptureKey);
   199 	void ConstructL(const TWsWinCmdCaptureLongKey &aCaptureKey);
   204 	void CommandL(TInt aOpcode, const TAny *aCmdData);
   200 	void CommandL(TInt aOpcode, const TAny *aCmdData);
   205 	inline CWsWindowGroup *WindowGroup();
   201 	inline CWsWindowGroup *WindowGroup();
   206 	inline const CWsWindowGroup *WindowGroup() const;
   202 	inline const CWsWindowGroup *WindowGroup() const;
   207 	static CWsCaptureLongKey* CheckForCapture(TUint aKeyCode, TInt aModifiers);
   203 private:
   208 public:
   204 	TTimeIntervalMicroSeconds32 iDelay;
   209 	static TPriQue<CWsCaptureLongKey> iCaptureLongKeys;
   205 	TUint iFlags;
   210 private:
       
   211 	TPriQueLink iLink;
       
   212 	CWsWindowGroup *iWindowGroup;
   206 	CWsWindowGroup *iWindowGroup;
   213 	TWsWinCmdCaptureLongKey iData;
       
   214 	};
   207 	};
   215 
   208 
   216 //--------------------------------
   209 //--------------------------------
   217 // Owner of CWsGraphicDrawer
   210 // Owner of CWsGraphicDrawer
   218 //--------------------------------
   211 //--------------------------------