--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/windowing/windowserver/tauto/TTransptAnim.h Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,203 @@
+
+// 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:
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code
+*/
+#ifndef __TTRANSPTANIM__
+#define __TTRANSPTANIM__
+
+#include <e32std.h>
+#include <e32base.h>
+#include <w32std.h>
+#include "../tlib/testbase.h"
+#include "AUTO.H"
+#include "AUTODLL.H"
+
+enum
+ {
+ GraphicsWServ0483 = 0
+ };
+
+class CTTestCase;
+class CTransAnimTimer;
+class CTTransparentAnim;
+class CTTAnimation;
+class MAnimationObserver;
+
+class CTTransparentAnim : public CTWsGraphicsBase
+ {
+public:
+ static CTTestCase* CreateTestCaseL(CTTransparentAnim*, TInt);
+public:
+ CTTransparentAnim(CTestStep*);
+ virtual ~CTTransparentAnim();
+ void ConstructL();
+
+ void SetCurrent(CTTestCase*);
+ CTTestCase* GetCurrent();
+protected:
+ virtual void RunTestCaseL(TInt);
+
+private:
+ CTTestCase* iCurrentTestCase;
+ };
+
+class CTTransparentAnimStep : public CTGraphicsStep
+ {
+public:
+ CTTransparentAnimStep();
+
+protected:
+ virtual CTGraphicsBase* CreateTestL();
+ };
+
+class CTransAnimTimer : public CTimer
+ {
+public:
+ CTransAnimTimer();
+ ~CTransAnimTimer();
+ void ConstructL();
+ void Start(TTimeIntervalMicroSeconds32 aInterval,TCallBack aCallBack);
+private:
+ void RunL();
+ TCallBack iCallBack;
+ };
+
+class CTTAnimation
+ {
+public:
+ CTTAnimation(CTWin*, TInt);
+ ~CTTAnimation();
+
+ void StartL();
+ TBool IsComplete();
+ void SetCurrentFrameSet(TInt);
+ CTWin* GetWindow();
+ void Attach(MAnimationObserver*);
+private:
+ static TInt NextFrame(TAny*);
+ void NextFrame();
+
+private:
+ CTWin* iWin;
+ MAnimationObserver* iObserver;
+ RAnimDll iAnimDll;
+ RTestAnim iDrawAnim;
+ CTransAnimTimer iAnimTimer;
+ TInt iFrameCount;
+ TInt iCurrentFrameSet;
+ TBool iIsComplete;
+ TInt iDrawArg;
+ };
+
+template <TBool AlphaTransparency = EFalse>
+class CTAnimWin : public CTWin
+ {
+public:
+ static CTWin* NewL(TPoint aPosition, TSize aSize)
+ {
+ CTAnimWin* w = new(ELeave) CTAnimWin();
+
+ CleanupStack::PushL(w);
+ w->ConstructL(aPosition, aSize);
+ CleanupStack::Pop();
+
+ return w;
+ }
+public:
+ virtual ~CTAnimWin(){}
+
+ void Draw(){}
+private:
+ CTAnimWin(){}
+
+ void ConstructL(TPoint aPoint, TSize aSize)
+ {
+ TRgb bgColor(150, 150, 150);
+ ConstructExtLD(*TheClient->iGroup, aPoint, aSize);
+ AssignGC(*TheClient->iGc);
+ Win()->SetRequiredDisplayMode(EColor16MA);
+ if (AlphaTransparency)
+ {
+ Win()->SetTransparencyAlphaChannel();
+ bgColor.SetAlpha(150);
+ }
+ Win()->SetBackgroundColor(bgColor);
+ Win()->Activate();
+ }
+ };
+
+//*****************************************************************************
+class MAnimationObserver
+ {
+public:
+ virtual void Update(CTTAnimation*) = 0;
+ };
+
+class CTTestCase : public MAnimationObserver
+ {
+public:
+ CTTestCase();
+ virtual ~CTTestCase() {}
+
+ TBool IsAlreadyRunning();
+ TBool IsComplete();
+ void StartL();
+ TBool HasFailed();
+ void SetError(TInt);
+
+ // Implemented for MAnimationObserver
+ virtual void Update(CTTAnimation*);
+ virtual void ConstructL() = 0;
+ virtual TPtrC TestCaseName() = 0;
+
+protected:
+ virtual void RunTestCaseL() = 0;
+ void SetIsCompleted(TBool);
+
+private:
+ TInt iError;
+ TBool iIsComplete;
+ TBool iIsRunning;
+ };
+
+class CTGraphicsWServ0483 : public CTTestCase
+ {
+public:
+ static CTGraphicsWServ0483* NewL();
+
+public:
+ virtual ~CTGraphicsWServ0483();
+ virtual void RunTestCaseL();
+
+ void Update(CTTAnimation*);
+
+protected:
+ CTGraphicsWServ0483(){}
+ virtual void ConstructL();
+ virtual TPtrC TestCaseName();
+
+private:
+ CTTAnimation* iAnim;
+ CTTAnimation* iCheckAnim;
+ };
+
+_LIT(KTTransparentAnimStep,"TTransparentAnim");
+
+#endif // __TTRANSPTANIM__