--- 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_*/