sl@0: // Copyright (c) 2008-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 RATELIMITDRAWER_H_ sl@0: #define RATELIMITDRAWER_H_ sl@0: sl@0: #include sl@0: #include "graphics/WSGRAPHICDRAWER.H" sl@0: #include sl@0: #include "../inc/constants.h" sl@0: sl@0: /** sl@0: Drawer plug-in class used to draw the animation and scheduling. sl@0: */ sl@0: NONSHARABLE_CLASS(CWsRateLimitGraphicDrawer): public CWsGraphicDrawer sl@0: { sl@0: public: sl@0: enum {EImplUid = 0x102869F6}; sl@0: sl@0: public: sl@0: static CWsRateLimitGraphicDrawer* NewL(); sl@0: ~CWsRateLimitGraphicDrawer(); sl@0: void ConstructL(MWsGraphicDrawerEnvironment& aEnv,const TGraphicDrawerId& aId,MWsClient& aOwner,const TDesC8& aData); sl@0: void HandleMessage(const TDesC8& aData); sl@0: private: sl@0: void DoDraw(MWsGc& aGc,const TRect& aRect,const TDesC8& aData) const; sl@0: void InitialiseMembers(); sl@0: private: sl@0: CWsRateLimitGraphicDrawer(); sl@0: sl@0: private: sl@0: TRgb iColors[KMaxFrames]; sl@0: mutable TReal iFrameRate; sl@0: mutable TInt iFrame; sl@0: mutable TTime iStartTime; sl@0: }; sl@0: sl@0: #endif /*RATELIMITDRAWER_H_*/