--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/windowing/windowserver/tlisten/listener.h Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,118 @@
+// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code
+*/
+
+#ifndef __LISTENER_H__
+#define __LISTENER_H__
+
+#include <bitstd.h>
+#include "Graphics/WSGRAPHICDRAWER.H"
+#include <Graphics/WSGRAPHICDRAWERINTERFACE.H>
+
+class CFbsBitmap;
+class CFbsBitmapDevice;
+class CFbsBitGc;
+class MWsGraphicDrawerContext;
+#ifdef __WINS__
+class CDebugOsbWin;
+#endif
+
+const TInt KNotifyRemoveSelf = 0;
+const TInt KNotifyRemoveThenAddSelf = 1;
+const TInt KNotifyAddSelf = 2;
+const TInt KNotifyRemoveOther = 3;
+const TInt KNotifyRemoveThenAddOther = 4;
+const TInt KNotifyAddOther = 5;
+const TInt KNotifyRemoveSelfAndOther = 6;
+const TInt KNotifyDoNothing = 7;
+const TInt KNotifyDisable = 8;
+
+NONSHARABLE_CLASS(CWsEventListener): public CWsGraphicDrawer, public MWsEventHandler
+ {
+public:
+ enum {EImplUid = 0x10281fb7};
+
+public:
+ static CWsEventListener* NewL();
+ virtual ~CWsEventListener();
+
+ // override CWsGraphicDrawer
+ virtual void ConstructL(MWsGraphicDrawerEnvironment& aEnv,const TGraphicDrawerId& aId, MWsClient& aOwner, const TDesC8& aData);
+ virtual void HandleMessage(const TDesC8& aData);
+ // override MWsEventHandler
+ virtual void DoHandleEvent(const TWservCrEvent& aEvent);
+private:
+ // override CWsGraphicDrawer
+ virtual void DoDraw(MWsGc& aGc, const TRect& aRect, const TDesC8& aData) const;
+
+ void OnScreenSizeModeChanged(TInt aMode);
+ void OnWindowVisibilityChanged(const RRegion* aRegion);
+ TRgb CurrentColor();
+ void SendInfo();
+ void OnWindowGroupChanged(TInt aScreenNumber, TInt aWindowGroupId);
+private:
+ MWsGraphicDrawerContext* iDrawerContext;
+ CFbsBitmap* iBit;
+ CFbsBitmapDevice* iDev;
+ CFbsBitGc* iGc;
+#ifdef __WINS__
+ CDebugOsbWin* iWin;
+ TBool iDisableWin;
+#endif
+ TBool iEnabled;
+ TBool iReady;
+ TSize iSize;
+ TDisplayMode iDisplayMode;
+ MWsScreen* iScreen;
+ TInt iColorIdx;
+ TInt iSaveNumRect;
+ TRect iSaveRect;
+ TInt iWindowGroupId;
+ };
+
+NONSHARABLE_CLASS(CWsEventNotifier): public CWsGraphicDrawer, public MWsEventHandler
+ {
+public:
+ enum { EImplUid1 = 0x102754c4,
+ EImplUid2 = 0x102754c6};
+
+public:
+ static CWsEventNotifier* NewL();
+ virtual ~CWsEventNotifier();
+
+ // override CWsGraphicDrawer
+ virtual void ConstructL(MWsGraphicDrawerEnvironment& aEnv,const TGraphicDrawerId& aId, MWsClient& aOwner, const TDesC8& aData);
+ virtual void HandleMessage(const TDesC8& aData);
+ // override MWsEventHandler
+ virtual void DoHandleEvent(const TWservCrEvent& aEvent);
+private:
+ // override CWsGraphicDrawer
+ virtual void DoDraw(MWsGc& aGc, const TRect& aRect, const TDesC8& aData) const;
+ void TestGraphicDrawerEnvironment();
+private:
+ TBool iReady;
+ TInt iHandleMethod;
+ TGraphicDrawerId iAnotherPluginID;
+ CWsGraphicDrawer* iAnotherPlugin;
+ TBool iTestGraphicDrawerEnvironment;
+ MWsGraphicDrawerEnvironment* iEnv;
+ };
+
+#endif