sl@0: // Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: /** sl@0: @file sl@0: @test sl@0: @internalComponent - Internal Symbian test code sl@0: */ sl@0: sl@0: #ifndef TWINDOW_H sl@0: #define TWINDOW_H sl@0: sl@0: sl@0: #include sl@0: sl@0: sl@0: class CSurfaceUtility; sl@0: class CEglEnvironment; sl@0: class CEGLRendering; sl@0: sl@0: /** sl@0: * Baseclass for all test windows. Is responsible for creation of destruction of the actual sl@0: * WServ window. Also computes dirty regions for the window. sl@0: * sl@0: */ sl@0: class CTWindow : public CBase sl@0: { sl@0: public: sl@0: virtual ~CTWindow(); sl@0: virtual void LoadL(CSurfaceUtility* aUtility, TPtrC aFileName); sl@0: virtual void RenderL(); sl@0: sl@0: void Move(TInt aX, TInt aY); sl@0: TPoint CurrentPosition(); sl@0: void SetPosition(TInt aX, TInt aY); sl@0: const RRegion& DirtyRegion() const; sl@0: void SetVisible(TBool aIsVisible); sl@0: TInt SetBackgroundSurface(const TSurfaceId& aSurface); sl@0: TSize Size(); sl@0: sl@0: static TSize GetDisplaySizeInPixels(); sl@0: static CFbsBitmap* CreateBitmapFromFileL(const TDesC& aFileName); sl@0: sl@0: protected: sl@0: CTWindow(const TPoint& aStartingPoint, const TSize& aWindowSize); sl@0: void ConstructL(RWsSession &aWs, const RWindowTreeNode &aParent); sl@0: sl@0: protected: sl@0: RWindow iWindow; sl@0: TBool iLoaded; sl@0: sl@0: private: sl@0: RRegion iDirtyRegion; sl@0: TSize iSize; sl@0: TPoint iPosition; sl@0: TSize iScreenSize; sl@0: }; sl@0: sl@0: // function pointer is used by the controller to create windows sl@0: typedef CTWindow* (*pTWindowCreatorFunction)(RWsSession &aWs, sl@0: const RWindowTreeNode &aParent, sl@0: const TPoint& aStartingPoint, sl@0: const TSize& aWindowSize); sl@0: sl@0: #endif /*TWINDOW_H*/