sl@0: // Copyright (c) 2008-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: */ sl@0: sl@0: #ifndef __WSDYNAMICRESBASIC_H__ sl@0: #define __WSDYNAMICRESBASIC_H__ sl@0: sl@0: #include "wsdynamicresbase.h" sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: /** sl@0: * sl@0: **/ sl@0: sl@0: static TBool cSCLogged =EFalse; sl@0: sl@0: sl@0: class CWsDynamicResBasic : public CWsDynamicResBase sl@0: { sl@0: typedef CWsDynamicResBase MyBase; sl@0: private: sl@0: struct TBitmapRegionPair sl@0: { sl@0: CFbsBitmap* bitmap; sl@0: RRegion* region; sl@0: TRect drawRect; sl@0: }; sl@0: sl@0: public: sl@0: CWsDynamicResBasic(); sl@0: virtual ~CWsDynamicResBasic(); sl@0: virtual void SetupL(); sl@0: virtual void TearDownL(); sl@0: virtual void TearDownFromDeleteL(); sl@0: sl@0: static CTestSuite* CreateSuiteL( const TDesC& aName ); sl@0: sl@0: void ResetScreens(); sl@0: sl@0: protected: sl@0: //tests sl@0: sl@0: //BASIC sl@0: void GRAPHICS_WSERV_DYNAMICRES_0001L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0002L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0003L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0004L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0005L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0006L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0007L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0008L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0009L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0010L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0011L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0012L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0013L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0014L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0015L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0016L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0017L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0018L(); sl@0: sl@0: //NEGATIVE sl@0: void GRAPHICS_WSERV_DYNAMICRES_0021L(TBool aScaleMode); sl@0: sl@0: //OOM sl@0: void GRAPHICS_WSERV_DYNAMICRES_0031L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0032L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0033L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0034L(); sl@0: sl@0: //SCREEN CAPTURE sl@0: void GRAPHICS_WSERV_DYNAMICRES_0041L(TBool aIsSurface); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0042L(TBool aIsSurface); sl@0: sl@0: //DYNAMIC SCREEN MODE sl@0: void GRAPHICS_WSERV_DYNAMICRES_0051L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0052L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0053L(); sl@0: sl@0: //DEFECT sl@0: void GRAPHICS_WSERV_DYNAMICRES_0101L(); sl@0: void GRAPHICS_WSERV_DYNAMICRES_0102L(); sl@0: sl@0: sl@0: void SetRotation (TDisplayConfiguration& aConfig, const MDisplayControl::TResolution& aResolution); sl@0: TBool Compare(const CFbsBitmap& aBitmap, const TRect& aRect1, sl@0: const TRect& aRect2, RArray& aRegionArray, TBool aIsSurface); sl@0: TRgb GreatestColor(TRgb& aColor) const; sl@0: sl@0: //data members: sl@0: private: sl@0: CActiveScheduler iScheduler; sl@0: }; sl@0: sl@0: class CWsDisplayEvent : public CActive sl@0: { sl@0: sl@0: public: sl@0: CWsDisplayEvent(RWsSession *aWs); sl@0: ~CWsDisplayEvent(); sl@0: void Request(); sl@0: TInt ConfigSpinner() {return iConfigSpinner;} sl@0: TInt ResListSpinner() {return iResListSpinner;} sl@0: TInt ReceivedEventCount() {return iReceivedEventCount;} sl@0: TInt ReceivedDeviceEventCount() {return iReceivedDeviceEventCount;} sl@0: TInt ReceivedPointerEventCount() {return iReceivedPointerEventCount;} sl@0: void SetExpectedPointPos(const TPoint& aPos) {iPointerPos = aPos;} sl@0: TBool PointerTestPassed() {return iPointerPosTestPass;} sl@0: protected: sl@0: void DoCancel(); sl@0: void RunL(); sl@0: sl@0: private: sl@0: RWsSession *iWs; sl@0: TInt iConfigSpinner; sl@0: TInt iResListSpinner; sl@0: TInt iReceivedEventCount; sl@0: TInt iReceivedDeviceEventCount; sl@0: TInt iReceivedPointerEventCount; sl@0: TPoint iPointerPos; sl@0: TBool iPointerPosTestPass; sl@0: }; sl@0: sl@0: class CEventTimer : public CActive sl@0: { sl@0: public: sl@0: static CEventTimer* NewL(); sl@0: ~CEventTimer(); sl@0: void Wait(TInt aDelay); sl@0: // From CActive: sl@0: void RunL(); sl@0: void DoCancel(); sl@0: sl@0: protected: sl@0: CEventTimer(); sl@0: void ConstructL(); sl@0: protected: sl@0: RTimer iTimer; sl@0: }; sl@0: sl@0: sl@0: sl@0: class CDSATestDrawing: public CTimer, public MDirectScreenAccess sl@0: { sl@0: public: sl@0: sl@0: void Draw(); sl@0: sl@0: sl@0: sl@0: static CDSATestDrawing* NewL(); sl@0: void ConstructL(); sl@0: //from MDirectScreenAccess sl@0: void Restart(RDirectScreenAccess::TTerminationReasons aReason); sl@0: void AbortNow(RDirectScreenAccess::TTerminationReasons aReason); sl@0: ~CDSATestDrawing(); sl@0: void SetDSA(CDirectScreenAccess *aDSA){iDSA = aDSA;} sl@0: void SetWindow(RWindow &aWindow){iWin = &aWindow;} sl@0: void StartDrawingL(CDirectScreenAccess *aDSA); sl@0: void RunL(); sl@0: sl@0: private: sl@0: CDSATestDrawing(); sl@0: TRect iRect; sl@0: RWindow* iWin; sl@0: CDirectScreenAccess *iDSA; sl@0: }; sl@0: sl@0: #endif /*__WSDYNAMICRESBASIC_H__*/