windowing/windowserver/tcrx/tcrx.h
changeset 0 5d03bc08d59c
--- /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
+