sl@0: // Copyright (c) 1996-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: @test sl@0: @internalComponent - Internal Symbian test code sl@0: */ sl@0: sl@0: #ifndef __TAUTODLL_H__ sl@0: #define __TAUTODLL_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: #include sl@0: #include "AUTODLL.H" sl@0: sl@0: #ifdef TEST_GRAPHICS_WSERV_TAUTOSERVER_NONNGA sl@0: #include "../nonnga/CLIENT/w32comm.h" sl@0: #endif sl@0: sl@0: #ifdef TEST_GRAPHICS_WSERV_TAUTOSERVER_NGA sl@0: #include "../nga/CLIENT/w32comm.h" sl@0: #endif sl@0: sl@0: #include "tdirecta.h" sl@0: sl@0: sl@0: class CAnimWindow; sl@0: sl@0: class CAnimRedrawWindow : public CTWin sl@0: { sl@0: public: sl@0: CAnimRedrawWindow(CAnimWindow *aAnimWindow, TBool aIsBase); sl@0: ~CAnimRedrawWindow(); sl@0: void Draw(); sl@0: private: sl@0: CAnimWindow *iAnimWindow; sl@0: TBool iIsBase; sl@0: }; sl@0: sl@0: class CAnimWindow : public CBase sl@0: { sl@0: friend class CTAnimDll; sl@0: friend class CAnimRedrawWindow; sl@0: public: sl@0: enum TWinType sl@0: { sl@0: ERedraw, sl@0: EBlank, sl@0: EBackedUp, sl@0: }; sl@0: public: sl@0: CAnimWindow(TBool aIsBase, TWinType aWinType); sl@0: ~CAnimWindow(); sl@0: void ConstructL(const TPoint &aPos, const TSize &aSize); sl@0: void SetRect(const TRect &aRect); sl@0: static void Draw(CBitmapContext *aGc, const TSize &aSize, TBool aIsBase,const TRect &aRect, TBool aBlankIt); sl@0: static void DrawEllipse(CBitmapContext *aGc, const TRect &aRect); sl@0: void DoDraw(TBool aBlankIt=EFalse); sl@0: void DoDrawEllipse(); sl@0: void DoDrawCoverage(); sl@0: TSize Size(); sl@0: RWindowBase *BaseWin() const; sl@0: CTBaseWin *CtBaseWin(); sl@0: void Invalidate(); sl@0: void Invalidate(const TRect &aRect); sl@0: static void SetEllipseDrawMode(CGraphicsContext::TDrawMode aEllipseDrawMode); sl@0: void DrawTestScreen(CFbsBitmap *aBitmap, CFbsBitmap *aMaskBitmap, CFbsFont *aFont); sl@0: protected: sl@0: CTBaseWin *iCtWin; sl@0: TWinType iWinType; sl@0: TBool iIsBase; sl@0: TRect iRect; sl@0: static CGraphicsContext::TDrawMode iEllipseDrawMode; sl@0: }; sl@0: sl@0: sl@0: sl@0: class CTAnimDll : public CTWsGraphicsBase sl@0: { sl@0: public: sl@0: CTAnimDll(CTestStep* aStep); sl@0: ~CTAnimDll(); sl@0: void ConstructL(); sl@0: sl@0: void TestPanicsL(); sl@0: void RemoteBuffer(); sl@0: void Misc(); sl@0: void ExtraCopyTest(); sl@0: void SyncMode1(); sl@0: void TestSyncModes(MAnimGeneralFunctions::TAnimSync aSyncMode); sl@0: void TestTimeChange(); sl@0: void TestLoadApiL(); sl@0: void KeyClickPriorityL(); sl@0: protected: //Pure virtual from MTestCases sl@0: void RunTestCaseL(TInt aCurTestCase); sl@0: private: sl@0: void InvalidatePauseAndRedraw(const TRect &aRect,TTimeIntervalMicroSeconds32 aInterval); sl@0: void RedrawAndCheckWindows(TBool aBlankIt=EFalse); sl@0: void SetUpMember(TSpriteMember &aMember,TInt aType); sl@0: void DrawingTestL(); sl@0: void ShadowDrawingTestL(); sl@0: void GeneralDrawingTestL(); sl@0: void CheckWindows(); sl@0: void DestroyWindowTestL(); sl@0: void SpriteAnimL(); sl@0: void FreeTimerL(); sl@0: void DisableTimerL(); sl@0: void MultipleAnimsL(); sl@0: void ClickPlugInL(); sl@0: void WinFunctionsL(); sl@0: void WinFunctions2L(); sl@0: void TestNotificationsL(); sl@0: void TestCoverageL(); sl@0: void TestPanicCoverageL(); sl@0: void TestWindowInfo(RTestAnim& aAnim,TInt aScreen,TInt aPos,TInt aId); sl@0: void TestEventHandlerRemovalL(); sl@0: void ParameterValueTestL(); sl@0: void TestSetIntervalL(); sl@0: TInt CheckError(TInt aError,TInt aExpected); sl@0: TRgb PixelColour(const TPoint& aPoint) const; sl@0: private: sl@0: RAnimDll iAnimDll; sl@0: TSize iWinSize; sl@0: CAnimWindow *iTestWin; sl@0: CAnimWindow *iRedrawWin; sl@0: CAnimWindow *iBaseWin; sl@0: CAnimWindow *iBackedUpTestWin; sl@0: CAnimWindow *iBlankTestWin; sl@0: }; sl@0: sl@0: class CTAnimDllStep : public CTGraphicsStep sl@0: { sl@0: public: sl@0: CTAnimDllStep(); sl@0: protected: sl@0: //from CTGraphicsStep sl@0: virtual CTGraphicsBase* CreateTestL(); sl@0: }; sl@0: sl@0: _LIT(KTAnimDllStep,"TAnimDll"); sl@0: sl@0: sl@0: #endif