windowing/windowserver/tdynamicres/inc/wsdynamicresbase.h
changeset 116 171fae344dd4
parent 103 2717213c588a
--- a/windowing/windowserver/tdynamicres/inc/wsdynamicresbase.h	Tue Jun 22 15:21:29 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +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:
-//
-
-#ifndef WSDYNAMICRESBASE_H_
-#define WSDYNAMICRESBASE_H_
-
-#include "t_wsdynamicreswinbase.h"
-#include <graphics/surface.h>
-#include "surfaceutility.h"
-
-//************************************
-//
-// Asserting wrapper around dereferencing a pointer that might be NULL.
-// I don't want to fill the test code with checks that this pointer is not null before calling surface utility methods....
-//
-//************************************
-
-template <class Referee,class LoggerOwner>
-class	SafePointer
-	{
-public:
-	SafePointer(LoggerOwner* aOwner,Referee* aReferee=NULL):
-		iOwner(aOwner),	iReferee(aReferee)
-		{}
-	Referee*	operator=(Referee* aReferee)
-		{
-		return iReferee=aReferee;
-		}
-	Referee*&	operator()()
-		{
-		return iReferee;
-		}
-	Referee*	operator->()
-		{
-		if (iReferee==NULL)
-			{
-			iOwner -> INFO_PRINTF1(_L("Tried to dereference a pointer that is null!"));
-			User::Panic(_L("null pointer"),__LINE__);
-			}
-		return iReferee;
-		}
-private:
-	LoggerOwner* iOwner;
-	Referee* iReferee;
-	};
-	
-/**
- * Base class test harness that provides facilities for windowing and surface testing
- * 
- **/
-class CWsDynamicResBase : public CWsDynamicResWinBase
-{
-public:
-	CWsDynamicResBase();
-	virtual ~CWsDynamicResBase();
-	
-	virtual void SetupL();
-	virtual void SetupL(TBool aUseOtherScreenForInfo);
-	virtual void TearDownL();
-	virtual void TearDownFromDeleteL();
-	/* 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:
-	void UISurfaceL(TSurfaceId& aSurfaceId) const;
-	void CommonSurfaceWindowSetupL(RWindow& aWindow, TSurfaceId& aSurface, const TRgb& aColor);
-	void CommonOverlayWindowSetupL(RWindow& aWindow, const TRgb& aColor);
-	void ResizeTestCommonSetupL(RWindow& aWindow, const TRgb& aColor);
-
-	void MakeTestWindowPairL(TRect aOuterRect,TRgb aOuterColor,TRect aInnerRect,TRgb aInnerColor);
-	void LargerTestWindow(TInt aPercentOfBack=80);
-	void DestroyTestWindowPair(TBool aKillTestBack=ETrue,TBool aKillTestFront=ETrue,TBool aKillTestChildren=ETrue);
-	void MakeTestWindowTripleL(TRect aOuterRect,TRgb aOuterColor,TRect aInnerRect,TRgb aInnerColor,TRect aChildRect,TRgb aChildColor,TRect aSecondChildRect,TRgb aSecondChildColor);
-	void CreateTestWindowQuadL(TRect aOuterRect,TRgb aOuterColor,TRect aInnerRect,TRgb aInnerColor,TRect aChildRect,TRgb aChildColor,TRect aSecondChildRect,TRgb aSecondChildColor);
-	void MakeTestWindowTripleL(TRect aOuterRect,TRgb aOuterColor,TRect aInnerRect,TRgb aInnerColor,TRect aChildRect,TRgb aChildColor);
-	void MakeExtraChildWindowL(const RWindowBase& aFromParent,TRect aChildRect,TRgb aChildColor);
-	struct LoopingGcPtr;
-	LoopingGcPtr	LoopBeginActivateWithWipe(const TRegion& aRegion,RWindow& aWin,TRgb aColor);
-	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);
-	static CFbsBitmap* RotateBitmapLC(const CFbsBitmap* aSrcBitmap);
-
-	void Pause(TInt aMilliseconds);
-	TInt	RegionDiffForUiLayer(TInt aUiLayer);	//returns values from TRegionExtend::TOverlapFlags enumeration
-	enum	 FastPathMode
-		{	//Tereat this as bit flags or distinct states as you wish.
-			EFpExternalOpaque=0,
-			EFpUiOpaque=1,
-			EFpUiBlended=2,
-			EFpUiComplex=3,			//If ony this is set then both blended and opaque are full=screen
-			EFpUiRegions=4,			//If this FLAG is set then the regions are less than full-screen. Never occurs on its own
-			EFpUiRegionsOpaque=5,			//If this is set then the regions are less than full-screen
-			EFpUiRegionsBlended=6,			//If this is set then the regions are less than full-screen
-			EFpUiRegionsComplex=7	//This is the expected setting for windowed cr1108 optimisation. 
-		};
-	FastPathMode	DeduceUiFastPathMode();
-protected:
-	SafePointer<CSurfaceUtility,CWsDynamicResBase> iUtility;
-	class TPostTestCleanup
-		{
-		protected:
-		TPostTestCleanup()	{}
-		public:
-		mutable CSurfaceUtility*	iSharedUtility;
-		mutable TBool				iCleanedUpOnExit;
-		void				CreateSharedUtilityL()const ;
-		};
-	static const TPostTestCleanup& PostTestCleanupInstance();
-	RWindow	iTestBack;
-	RWindow	iTestFront;
-	RWindow	iTestChild;
-	RWindow	iTestSecondChild;
-	static const TUidPixelFormat KSurfaceFormat = EUidPixelFormatXRGB_8888;
-	static const TInt KBytesPerPixel = 4;	// Four bytes per pixel for the format above.
-private:
-
-};
-
-struct CWsDynamicResBase::LoopingGcPtr
-	{
-	LoopingGcPtr(const TRegion& aRegion,RWindow& aWin,TRgb aColor,CWindowGc *aGc)
-		:	iRegion(aRegion),	iWin(aWin),	iColor(aColor), iGc(aGc), iPass(-1)	
-		{ operator++();	}
-	LoopingGcPtr(const LoopingGcPtr& aRhs)
-		:	iRegion(aRhs.iRegion),	iWin(aRhs.iWin),	
-			iColor(aRhs.iColor), iGc(aRhs.iGc),
-			iPass(aRhs.iPass)	
-		{}
-	void operator ++();	
-	operator bool()		{ return iPass>=0?iGc:(CWindowGc *)NULL;	}
-	CWindowGc * operator ->()	{ return iPass>=0?iGc:(CWindowGc *)NULL;	}
-	const TRegion& iRegion;
-	RWindow& iWin;
-	TRgb iColor;
-	CWindowGc *iGc;
-	TInt iPass;
-	};
-
-#define LOG_AND_PANIC_IF_NOT_GCE											\
-		{																	\
-		if (!GCEIsSupported())												\
-			{																\
-			INFO_PRINTF1(_L("Test skipped: GCE support is not loaded"));	\
-			User::Panic(_L("GCE.Wrong.Mode"),1);							\
-			return;															\
-			}																\
-		}
-
-#endif /*WSDYNAMICRESBASE_H_*/