diff -r 2717213c588a -r 171fae344dd4 windowing/windowserver/tdynamicres/inc/t_wsdynamicreswinbase.h --- a/windowing/windowserver/tdynamicres/inc/t_wsdynamicreswinbase.h Tue Jun 22 15:21:29 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,169 +0,0 @@ -// Copyright (c) 2008-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: -// twsgcetestwinbase.h -// -// - -#ifndef TWSDYNAMICRESWINBASE_H_ -#define TWSDYNAMICRESWINBASE_H_ - -#include -#include -#include -#include -#include "wsgcedebugsession.h" -struct TWsDebugWindowId; - -/** - * Base class sets up the tryptich of test windows. - * - * - **/ -class CWsDynamicResWinBase : public CTestFixture -{ -public: - CWsDynamicResWinBase(); - virtual ~CWsDynamicResWinBase(); - virtual void SetupL(); - virtual void SetupL(TBool aUseOtherScreenForInfo); - - virtual void TearDownL(); - virtual void TearDownFromDeleteL(); - - static TBool ActivateWithWipe(CWindowGc* aGc,RWindow& aWin,TRgb aColor=TRgb(0,0)); - - /* Note that each derived test class needs to declare a static function to register tests. - * This should match the following prototype: - static CTestSuite* CreateSuiteL( const TDesC& aName ); - */ - -protected: - static void Pause(TInt aMilliseconds=200); - - TBool GCEIsSupported() const; - static TBool GCEIsSupportedStatic(); - - TBool DisplayHasAlpha() const; - TBool SelectChromaCompositionMode(); - TBool SelectAlphaCompositionMode(TDisplayMode aMode = EColor16MA); - TRgb GceHoleColor(RWindowBase& aWin)const; - void DrawUIContent(RWindow& aWindow); - void DrawPlainUI(RWindow& aWindow,TBool aInvalidate,TRgb aWipeColor=TRgb(0,0)); - void DrawCross(RWindow& aWindow, TRgb aColor, TInt aThickness=1); - void TestPixelL(TPoint aPt, TRgb aColor, TBool aMatch); - TBool TestRectL(TRect aRect,TRgb aInnerColor,TInt aOtherInnerColors,TRgb aOuterColor,TInt aOtherOuterColors,TInt aCornerSize); - void MakeTitleAndCompareWindowsL(TRefByValue aTitle,TRefByValue aDetail=_L("")); - void LargerCompareWindow(TBool aGoLarger=ETrue); - void UpdateTitleWindowL(TRefByValue aDetail,TInt aIndex=0); - void RepaintTitleWindowL(); - void TefUnitFailLeaveL(); - CWindowGc* GcForWindow(RWindow& aWin); - TBool InvalidateRegion(const TRegion& aRegion,RWindow& aWin); - CWindowGc* BeginActivateWithWipe(TBool aInvalidate,RWindow& aWin,TRgb aColor=TRgb(0,0)); - CWindowGc* BeginActivateWithWipe(TBool aInvalidate,TRect aRect,RWindow& aWin,TRgb aColor=TRgb(0,0)); - CWindowGc* BeginActivateWithWipe(const TRegion& aRegion,RWindow& aWin,TRgb aColor); - /** Helper method to find a named screen region - * start/end letter should be 'a' to 'y' (yes that includes 'i') - **/ - static TRect PentCellRect(const TRect& aFullRect,char aStartLetter,char aEndLetter=0); - void CheckAndConnectScreen(); - -protected: - static const TInt KSurfaceWidth = 50; - static const TInt KSurfaceHeight = 50; - TBool iDoTearDown; - RWsDebugSession iSession; - RWindowGroup iGroup; - RWindowGroup iInfoGroupInstance; - RWindowGroup* iInfoGroup; - CWsScreenDevice* iScreenDevice; - CWsScreenDevice* iInfoScreenDevice; - CWindowGc* iGc; - CWindowGc* iInfoGc; - TInt iWindowHandle; - static TBool iTransparencyEnabled; - TRgb iRed, iGreen, iBlue, iCyan, iMagenta, iYellow, iWhite; - TRgb TITLE_BACKGROUND; - TRgb COMPARE_BACKGROUND; - RBlankWindow iBackground; - RWindow iCompare; - RWindow iTitle; - TRect iTestPos; - TRect iCenteredFrontWinRect; - TPoint iTestPointCentre; - TDisplayMode iDisplayMode; - static const TInt KMaxTestName = 80; - typedef TBuf TTestName; - mutable TRgb iLastGceHoleColor; - TTestName iTestName; - static const TInt KMaxInfoLines=5; - TTestName iTestInfo[KMaxInfoLines]; - static CActiveScheduler iScheduler; -}; - -// This little helper class checks that the given bytes contain the expected pattern. -namespace Pattern - { - void Fill(void* aTrg,TInt aOffset,TInt aLength); - TBool Check(void* aTrg,TInt aOffset,TInt aLength); - TBool CheckVal(void* aTrg,TInt aOffset,TInt aLength,char val=0); - } - -//This wrapper for the configuration class allows stress testing of the configuration object - -template -class TestExtend: public TXxxConfiguration - { -public: - char iExtraData[aExtraSize]; - TestExtend(): - TXxxConfiguration(aFalseSize) - { - TXxxConfiguration::iSize=aFalseSize; - Pattern::Fill(this,aFalseSize,sizeof(*this)-aFalseSize); - } - void* operator new(unsigned int,TestExtend* inplace) - { //Use this inplace operator new to pre-initialise the memory - return inplace; - } - void operator delete(void*,TestExtend*) - { //Stops the warning! - } - TestExtend(const TXxxConfiguration&i): - TXxxConfiguration(i) - { - Pattern::Check(this,sizeof(TXxxConfiguration),aExtraSize); - } - TBool WasExtraOverwritten() - { - return Pattern::Check(this,sizeof(TXxxConfiguration),aExtraSize); - } - TBool WasFalseSizeOverwritten() - { - return Pattern::Check(this,aFalseSize,sizeof(*this)-aFalseSize); - } - TBool WasFalseSizeZero() - { - return Pattern::CheckVal(this,aFalseSize,sizeof(TXxxConfiguration)-aFalseSize); - } - void StompValue(TInt aOffsetInLongs,TInt aNewValue) - { - *((TInt*)this+aOffsetInLongs)=aNewValue; - } - TInt ReadValue(TInt aOffsetInLongs) - { - return *((TInt*)this+aOffsetInLongs); - } - }; -#endif /*TWSDYNAMICRESWINBASE_H_*/