author | Gareth Stockwell <gareth.stockwell@accenture.com> |
Fri, 22 Oct 2010 11:38:29 +0100 | |
branch | bug235_bringup_0 |
changeset 206 | c170e304623f |
parent 0 | 5d03bc08d59c |
permissions | -rw-r--r-- |
// 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