diff -r 000000000000 -r 2f259fa3e83a classicui_plat/extended_animation_api/inc/aknAnimData.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/classicui_plat/extended_animation_api/inc/aknAnimData.h Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,245 @@ +/* +* Copyright (c) 2002 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: +* +*/ + + +// AknAnimData.H +// +// Copyright (c) 1997-1999 Symbian Ltd. All rights reserved. +// + +// Animation Data class + + +#if !defined(__AKNANIMDATA_H__) +#define __AKNANIMDATA_H__ + +#include +#include + +class TResourceReader; + + + +class TAnimLineDrawStep + { +public: + inline TPoint StartPoint(); + inline TPoint EndPoint(); +public: + TUint16 iSteps; + TInt16 iStartX; + TInt16 iStartY; + TInt16 iEndX; + TInt16 iEndY; + }; + +class TAnimBlitStep + { +public: + TPoint StartPoint(); + TPoint EndPoint(); + TSize Size(); +public: + TUint16 iSteps; + TInt16 iSrcX; + TInt16 iSrcY; + TInt16 iDestX; + TInt16 iDestY; + TUint16 iWidth; + TUint16 iHeight; + }; + +class TAnimSlideStep + { +public: + TPoint StartPoint(); + TPoint EndPoint(); + TSize Size(); +public: + TUint16 iSteps; + TInt16 iSrcX; + TInt16 iSrcY; + TInt16 iSlideToX; + TInt16 iSlideToY; + TInt16 iSlideFromX; + TInt16 iSlideFromY; + TUint16 iWidth; + TUint16 iHeight; + }; + +class TAnimWaitStep + { +public: + TUint16 iSteps; + }; + +class TAnimSetColorStep + { +public: + TRgb Color(); +public: + TUint8 iRed; + TUint8 iGreen; + TUint8 iBlue; + }; + + +class TAnimUserStep + { +public: + TInt Param1(); + TInt Param2(); + TInt Param3(); + TInt Param4(); + TInt Param5(); + TInt Param6(); + }; + + +union UStepData + { + TAnimLineDrawStep iLineDrawStep; + TAnimBlitStep iBlitStep; + TAnimSetColorStep iSetColorStep; + TAnimSlideStep iSlideStep; + TAnimWaitStep iWaitStep; + }; + +class TAnimStep + { + +public: + inline TAnimStep(); + inline TAnimLineDrawStep* LineDrawStep(); + inline TAnimBlitStep* BlitStep(); + inline TAnimSetColorStep* SetColorStep(); + inline TAnimSlideStep* SlideStep(); + inline TAnimWaitStep* WaitStep(); + inline void SetType(TUint8 aType); + inline TUint8 Type(); +private: + TUint8 iType; + TUint16 iSteps; + UStepData iStepData; + }; + + +class TAnimMultiStep + { +public: + inline TAnimMultiStep(TAnimStep aStep); +public: + TAnimStep iDrawStep; + TUint16 iSubStep; + }; + +class CAknAnimationData : public CArrayFixFlat + { +public: + IMPORT_C CAknAnimationData(); + IMPORT_C ~CAknAnimationData(); + IMPORT_C void ConstructFromResourceL(TInt aResourceId); + IMPORT_C void SetScreenSize(TSize aSize); + IMPORT_C void SetViewBitmap(CFbsBitmap* aViewBitmap); + IMPORT_C void SetOldBitmap(CFbsBitmap* aOldBitmap); + IMPORT_C void SetClearOldView(); + IMPORT_C TBool ClearOldView(); + IMPORT_C TBool WaitBetweenSections(); + IMPORT_C void SetWaitForeverAtEnd(); + IMPORT_C TBool WaitForeverAtEnd(); + IMPORT_C TBool DrawNextAnimationStep(CBitmapContext& aGc); + IMPORT_C TInt Interval(); +protected: + IMPORT_C void ConstructL(); + IMPORT_C virtual TBool DrawUserAnimationStep(CBitmapContext& aGc, TAnimMultiStep& aStep); + IMPORT_C virtual void ConstructUserAnimationStepL(TAnimStep& aAnimStep, TResourceReader& aReader); +private: + void ReadAnimStepL(TResourceReader& aReader); + TBool DrawPendingAnimationSteps(CBitmapContext& aGc); + TBool ExecutePendingAnimationStep(CBitmapContext& aGc, TAnimMultiStep* aStep); +private: + TUint16 iFlags; + CArrayFixFlat* iPendingSteps; + CArrayFixFlat* iDrawStepsPerAnimStep; +protected: + TSize iScreenSize; + CFbsBitmap* iViewBitmap; + CFbsBitmap* iOldBitmap; + TInt iCurrentDrawStep; + TInt iCurrentAnimStep; + TRgb iDrawColor; + TInt iInterval; + }; + + + + +// Inline functions + +inline TAnimLineDrawStep* TAnimStep::LineDrawStep() + { + return &(iStepData.iLineDrawStep); + } + +inline TAnimBlitStep* TAnimStep::BlitStep() + { + return &(iStepData.iBlitStep); + } + +inline TAnimSetColorStep* TAnimStep::SetColorStep() + { + return &(iStepData.iSetColorStep); + } + +inline TAnimSlideStep* TAnimStep::SlideStep() + { + return &(iStepData.iSlideStep); + } + +inline TAnimWaitStep* TAnimStep::WaitStep() + { + return &(iStepData.iWaitStep); + } + + +inline void TAnimStep::SetType(TUint8 aType) + { + iType = aType; + } + +inline TUint8 TAnimStep::Type() + { + return iType; + } + + +inline TAnimStep::TAnimStep() + { + } + + +inline TAnimMultiStep::TAnimMultiStep(TAnimStep aStep) +:iDrawStep(aStep), iSubStep(0) + { + } + + +#endif + + + +