--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/windowing/windowserver/tcrx/tcrx.h Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,128 @@
+// 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 __TCRX_H__
+#define __TCRX_H__
+
+#include <e32base.h>
+#include <w32std.h>
+
+class CRedrawHandler;
+class CWindow;
+class CWsListen;
+class CWsRedir;
+class CTwoWindow;
+
+class CClient: public CActive
+ {
+public:
+ static CClient* NewL();
+ ~CClient();
+ void RunL();
+ void DoCancel();
+ inline RWsSession& Ws();
+ inline RWindowGroup& Group();
+ inline CWindowGc& Gc();
+ inline CWindow* Win();
+ inline CWsScreenDevice* Screen();
+ inline CWsRedir* WsRedir();
+ inline CWsListen* WsListen();
+ void HandleCommand(TInt aCmd);
+private:
+ CClient();
+ void ConstructL();
+ void MakeRequest();
+ void DrawTwoWindow();
+ void ClearTwoWindow();
+
+ RWsSession iWs;
+ RWindowGroup iGroup;
+ CWsScreenDevice* iScreen;
+ CWindowGc* iGc;
+ TWsEvent iEvent;
+ CWindow* iWin;
+ CRedrawHandler* iRedraw;
+ CWsListen* iListen;
+ CWsRedir* iRedir;
+ RBlankWindow iBlank;
+ CTwoWindow* iTwo;
+ };
+
+class CRedrawHandler: public CActive
+ {
+public:
+ static CRedrawHandler* NewL(CClient* aClient);
+ ~CRedrawHandler();
+ void RunL();
+ void DoCancel();
+private:
+ CRedrawHandler(CClient* aClient);
+ void ConstructL();
+ void MakeRequest();
+
+ CClient* iClient;
+ };
+
+class CWindow: public CBase
+ {
+public:
+ CWindow(CClient* aClient);
+ void ConstructL(CWindow* aParent, TBool aTransparentFlag);
+ ~CWindow();
+ void Draw(const TRect& aRect) const;
+ void DrawMenu() const;
+ inline RWindow& Window();
+ inline CWindow* Parent();
+ inline TSize Size();
+ inline CClient* Client();
+private:
+ CClient* iClient;
+ RWindow iWin;
+ CWindow* iParent;
+ };
+
+// CClient
+inline RWsSession& CClient::Ws()
+ {return iWs;}
+inline RWindowGroup& CClient::Group()
+ {return iGroup;}
+inline CWindowGc& CClient::Gc()
+ {return *iGc;}
+inline CWindow* CClient::Win()
+ {return iWin;}
+inline CWsScreenDevice* CClient::Screen()
+ {return iScreen;}
+inline CWsListen* CClient::WsListen()
+ {return iListen;}
+inline CWsRedir* CClient::WsRedir()
+ {return iRedir;}
+// CWindow
+inline RWindow& CWindow::Window()
+ {return iWin;}
+inline CWindow* CWindow::Parent()
+ {return iParent;}
+inline TSize CWindow::Size()
+ {return iWin.Size();}
+inline CClient* CWindow::Client()
+ {return iClient;}
+
+#endif
+