Applied patch 1, to provide a syborg specific minigui oby file.
Need to compare this with the "stripped" version currently in the tree.
This supplied version applies for Nokia builds, but need to repeat the
test for SF builds to see if pruning is needed, or if the file needs to
be device-specific.
// 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__