sl@0: // Copyright (c) 1996-2010 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 __TOOM_H__ sl@0: #define __TOOM_H__ sl@0: sl@0: #include sl@0: #include sl@0: #include "../tlib/testbase.h" sl@0: #include "AUTO.H" sl@0: #include "TGraphicsHarness.h" sl@0: sl@0: sl@0: typedef TBuf<0x40> TOomTestName; sl@0: sl@0: class CTOom; sl@0: sl@0: const TInt KNumCapKeyRequest = 20; sl@0: sl@0: sl@0: class COomFailBase : public CBase sl@0: { sl@0: public: sl@0: COomFailBase(CTOom *aTest); sl@0: virtual void ConstructL(); sl@0: virtual void PreFail(); sl@0: virtual void ClearUpL(); sl@0: virtual void Flush(); sl@0: virtual TInt Fail()=0; sl@0: virtual TOomTestName TestName()=0; sl@0: protected: sl@0: RWsSession iWs; sl@0: CWsScreenDevice* iDummyScreen; sl@0: CTOom *iTest; sl@0: }; sl@0: sl@0: sl@0: class COomConnect : public COomFailBase sl@0: { sl@0: public: sl@0: COomConnect(CTOom *aTest); sl@0: TInt Fail(); sl@0: void ClearUpL(); sl@0: TOomTestName TestName(); sl@0: }; sl@0: sl@0: class COomSetup : public COomFailBase sl@0: { sl@0: public: sl@0: COomSetup(CTOom *aTest); sl@0: ~COomSetup(); sl@0: void ConstructL(); sl@0: protected: sl@0: RWindowGroup iWinGroup; sl@0: }; sl@0: sl@0: class COomWindowGroup : public COomSetup sl@0: { sl@0: public: sl@0: COomWindowGroup(CTOom *aTest); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: RWindowGroup iFailWinGroup; sl@0: }; sl@0: sl@0: class COomWindow : public COomSetup sl@0: { sl@0: public: sl@0: COomWindow(CTOom *aTest); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: RWindow iFailWin; sl@0: }; sl@0: sl@0: class COomBackedUpWindow : public COomSetup sl@0: { sl@0: public: sl@0: COomBackedUpWindow(CTOom *aTest); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: RBackedUpWindow iFailWin; sl@0: }; sl@0: sl@0: class COomBlankWindow : public COomSetup sl@0: { sl@0: public: sl@0: COomBlankWindow(CTOom *aTest); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: RBlankWindow iFailWin; sl@0: }; sl@0: sl@0: class COomGc : public COomSetup sl@0: { sl@0: public: sl@0: COomGc(CTOom *aTest); sl@0: ~COomGc(); sl@0: void ConstructL(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: CWsScreenDevice *iScrDev; sl@0: CWindowGc *iFailGc; sl@0: }; sl@0: sl@0: class COomPolygon : public COomSetup sl@0: { sl@0: public: sl@0: COomPolygon(CTOom *aTest); sl@0: ~COomPolygon(); sl@0: void ConstructL(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: CWsScreenDevice *iScrDev; sl@0: RBackedUpWindow iWin; sl@0: CWindowGc *iGc; sl@0: CArrayFixSeg iPnts; sl@0: }; sl@0: sl@0: class COomScreenDevice : public COomSetup sl@0: { sl@0: public: sl@0: COomScreenDevice(CTOom *aTest); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: CWsScreenDevice *iScrDev; sl@0: }; sl@0: sl@0: class COomBackupResize : public COomSetup sl@0: { sl@0: public: sl@0: COomBackupResize(CTOom *aTest); sl@0: ~COomBackupResize(); sl@0: void ConstructL(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: RBackedUpWindow iFailWin; sl@0: }; sl@0: sl@0: class COomPointerBuffer : public COomSetup sl@0: { sl@0: public: sl@0: COomPointerBuffer(CTOom *aTest); sl@0: ~COomPointerBuffer(); sl@0: void ConstructL(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: RBackedUpWindow iFailWin; sl@0: }; sl@0: sl@0: class COomPriorityKey : public COomSetup sl@0: { sl@0: public: sl@0: COomPriorityKey(CTOom *aTest); sl@0: ~COomPriorityKey(); sl@0: void ConstructL(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: }; sl@0: sl@0: class COomCaptureKeyBase : public COomSetup sl@0: { sl@0: public: sl@0: COomCaptureKeyBase(CTOom *aTest); sl@0: ~COomCaptureKeyBase(); sl@0: void ConstructL(); sl@0: protected: sl@0: TInt32 iCapKey[KNumCapKeyRequest]; sl@0: TInt iIndex; sl@0: }; sl@0: sl@0: class COomCaptureKey : public COomCaptureKeyBase sl@0: { sl@0: public: sl@0: COomCaptureKey(CTOom *aTest); sl@0: ~COomCaptureKey(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: }; sl@0: sl@0: class COomCaptureKeyUpDown : public COomCaptureKeyBase sl@0: { sl@0: public: sl@0: COomCaptureKeyUpDown(CTOom *aTest); sl@0: ~COomCaptureKeyUpDown(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: }; sl@0: sl@0: class COomLongKeyCapture : public COomCaptureKeyBase sl@0: { sl@0: public: sl@0: COomLongKeyCapture(CTOom *aTest); sl@0: ~COomLongKeyCapture(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: }; sl@0: sl@0: class COomHotKey : public COomSetup sl@0: { sl@0: public: sl@0: COomHotKey(CTOom *aTest); sl@0: ~COomHotKey(); sl@0: void ConstructL(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: }; sl@0: sl@0: class COomGroupName : public COomSetup sl@0: { sl@0: public: sl@0: COomGroupName(CTOom *aTest); sl@0: ~COomGroupName(); sl@0: void ConstructL(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: }; sl@0: sl@0: class COomMessageSend: public COomSetup sl@0: { sl@0: public: sl@0: COomMessageSend(CTOom *aTest); sl@0: ~COomMessageSend(); sl@0: void ConstructL(); sl@0: void PreFail(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: RWindowGroup iWinGroup2; sl@0: }; sl@0: sl@0: class COomMessageFetch: public COomSetup sl@0: { sl@0: public: sl@0: COomMessageFetch(CTOom *aTest); sl@0: ~COomMessageFetch(); sl@0: void PreFail(); sl@0: void ConstructL(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: RWindowGroup iWinGroup2; sl@0: }; sl@0: sl@0: class COomCopyScreen : public COomSetup sl@0: { sl@0: public: sl@0: COomCopyScreen(CTOom *aTest); sl@0: ~COomCopyScreen(); sl@0: void ConstructL(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: CWsScreenDevice *iScrDev; sl@0: CFbsBitmap *iBitmap; sl@0: }; sl@0: sl@0: class COomRequestEvents : public COomSetup sl@0: { sl@0: public: sl@0: COomRequestEvents(CTOom *aTest); sl@0: ~COomRequestEvents(); sl@0: void ConstructL(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: }; sl@0: sl@0: class COomSpriteBase : public COomSetup sl@0: { sl@0: public: sl@0: COomSpriteBase(CTOom *aTest); sl@0: ~COomSpriteBase(); sl@0: void ConstructL(); sl@0: protected: sl@0: RWindow iWin; sl@0: CFbsBitmap *iBitmap; sl@0: CFbsBitmap *iMask; sl@0: CFbsBitmap *iBitmap2; sl@0: CFbsBitmap *iMask2; sl@0: }; sl@0: sl@0: class COomSprite : public COomSpriteBase sl@0: { sl@0: public: sl@0: COomSprite(CTOom *aTest); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: RWsSprite iSprite; sl@0: }; sl@0: sl@0: class COomPointerCursor : public COomSpriteBase sl@0: { sl@0: public: sl@0: COomPointerCursor(CTOom *aTest); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: RWsPointerCursor iPointerCursor; sl@0: }; sl@0: sl@0: class COomCustomTextCursor : public COomSetup sl@0: { sl@0: public: sl@0: COomCustomTextCursor(CTOom *aTest); sl@0: ~COomCustomTextCursor(); sl@0: void ConstructL(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: CArrayFixFlat* iMemberArray; sl@0: CFbsBitmap* iBitmap; sl@0: }; sl@0: sl@0: class COomTranspWindow : public COomSetup sl@0: { sl@0: public: sl@0: COomTranspWindow(CTOom *aTest); sl@0: ~COomTranspWindow(); sl@0: void ConstructL(); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: CTransWindow* CreateTransWinL(CTWinBase* aParent,TRgb aColor,TRect aPos, TDisplayMode* aDisplayMode); sl@0: private: sl@0: TInt SetTransparencyTesting(); sl@0: sl@0: CBlankWindow* iBackgroundWin; sl@0: CTransWindow* iFirst; sl@0: CTransWindow* iSecond; sl@0: sl@0: CFbsBitmap* iFbsBitmap; sl@0: CWsBitmap* iWsBitmap; sl@0: CFbsBitmapDevice* iFbsBitmapDevice; sl@0: CFbsBitGc* iFbsBitmapGc; sl@0: CFbsBitmapDevice* iWsBitmapDevice; sl@0: CFbsBitGc* iWsBitmapGc; sl@0: TBool iTransparencyEnabled; sl@0: }; sl@0: sl@0: sl@0: class CWindowWithOneLine : public CTWin sl@0: { sl@0: public: sl@0: static CWindowWithOneLine* NewL(CTWinBase& aParent, const TRect& aExtent); sl@0: void Draw(); sl@0: }; sl@0: sl@0: class COomObscuredWindow : public COomSetup sl@0: { sl@0: public: sl@0: COomObscuredWindow(CTOom *aTest); sl@0: void ClearUpL(); sl@0: TInt Fail(); sl@0: TOomTestName TestName(); sl@0: private: sl@0: void DoFailL(); sl@0: }; sl@0: sl@0: class CTOom : public CTWsGraphicsBase sl@0: { sl@0: public: sl@0: CTOom(CTestStep* aStep); sl@0: ~CTOom(); sl@0: const TDesC& TestName() const; sl@0: void ConstructL(); sl@0: void DoOomTestL(COomFailBase *aOomTest); sl@0: inline TInt ScreenNumber(){ return iTest->ScreenNumber();} sl@0: sl@0: protected: sl@0: virtual void RunTestCaseL(TInt aCurTestCase); sl@0: sl@0: private: sl@0: TInt iOldCount; sl@0: RBlankWindow iShieldWin; sl@0: TSize iWinSize; sl@0: TInt iState; sl@0: }; sl@0: sl@0: class CTOomStep : public CTGraphicsStep sl@0: { sl@0: public: sl@0: CTOomStep(); sl@0: protected: sl@0: //from CTGraphicsStep sl@0: virtual CTGraphicsBase* CreateTestL(); sl@0: }; sl@0: sl@0: _LIT(KTOomStep,"TOom"); sl@0: sl@0: sl@0: #endif