--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/startupservices/startupanimation/sanimctrl/inc/sanimctrl.h Tue Feb 02 10:12:00 2010 +0200
@@ -0,0 +1,217 @@
+/*
+* Copyright (c) 2007 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: Declaration of CSAnimCtrl class
+*
+*/
+
+
+#ifndef SANIMCTRL_H
+#define SANIMCTRL_H
+
+#include <coecntrl.h>
+#include "sanimobserver.h"
+
+class CFbsBitmap;
+class CSAnimEngine;
+
+/**
+* Start-up Animation UI control class.
+* Draws animation centered to the control.
+*
+* @lib sanimctrl.lib
+* @since S60 3.2
+*/
+class CSAnimCtrl : public CCoeControl, public MSAnimObserver
+ {
+
+public:
+
+ /**
+ * Constructs a CSAnimCtrl object.
+ *
+ * @since S60 3.2
+ *
+ * @param aRect Rectangle designated for the control.
+ * @param aContainer The compound control that is the container for this control.
+ * @return The new object
+ */
+ IMPORT_C static CSAnimCtrl* NewL(
+ const TRect& aRect,
+ const CCoeControl& aContainer );
+
+ /**
+ * Destructor.
+ *
+ * @since S60 3.2
+ */
+ virtual ~CSAnimCtrl();
+
+ /**
+ * Load the parts of the show (image/animation and/or tone) from file(s).
+ * Completes immediately with KErrNone if the show has no parts.
+ *
+ * @since S60 3.2
+ *
+ * @param aImageFileName Identifies the image file to use.
+ * @param aFrameDelay Frame delay to use.
+ * @param aScalingEnabled Identifies whether to try to scale the image to fit
+ * the screen size or just use the target size of the animation as it is.
+ * @param aAnimRepeatCount How many times to repeat the animation.
+ * Zero indicates infinite.
+ * @param aToneFileName Identifies the tone file to use.
+ * @param aVolume Volume level to use.
+ * @param aVolumeRamp Volume ramp: the period over which the volume level is
+ * to rise smoothly from nothing to the normal volume level.
+ * @param aToneRepeatCount How many times to repeat the tone.
+ * @param aStatus Request to complete when loading is complete.
+ */
+ virtual void Load(
+ const TDesC& aImageFileName,
+ const TTimeIntervalMicroSeconds32& aFrameDelay,
+ const TBool aScalingEnabled,
+ const TInt aAnimRepeatCount,
+ const TDesC& aToneFileName,
+ const TInt aVolume,
+ const TTimeIntervalMicroSeconds& aVolumeRamp,
+ const TInt aToneRepeatCount,
+ TRequestStatus& aStatus );
+
+ /**
+ * Start the show (image/animation and/or tone).
+ * Completes immediately with KErrNone if the show has no parts.
+ *
+ * @since S60 3.2
+ *
+ * @param aStatus Request to complete when all parts of the show have
+ * finished.
+ */
+ virtual void Start( TRequestStatus& aStatus );
+
+ /**
+ * Cancel activity.
+ *
+ * @since S60 3.2
+ */
+ virtual void Cancel();
+
+ /**
+ * Clear drawing data.
+ *
+ * @since S60 3.2
+ */
+ virtual void Clear();
+
+protected:
+
+ /**
+ * From CCoeControl.
+ *
+ * @since S60 3.2
+ *
+ * @return The number of controls contained in this control.
+ */
+ virtual TInt CountComponentControls() const;
+
+ /**
+ * From CCoeControl.
+ *
+ * @since S60 3.2
+ *
+ * @param aIndex Identifies the component control to return.
+ * @return The component control at index given as parameter.
+ */
+ virtual CCoeControl* ComponentControl( TInt aIndex ) const;
+
+ /**
+ * From CCoeControl.
+ *
+ * @since S60 3.2
+ *
+ * @param aRect The rectangle to draw into.
+ */
+ virtual void Draw( const TRect& aRect ) const;
+
+ /**
+ * Draw an animation frame on the screen with a mask.
+ * From MSAnimObserver.
+ *
+ * @since S60 3.2
+ *
+ * @param aFrame Contains the animation frame to draw on the screen.
+ * @param aMask Contains mask for the animation frame to draw on the screen.
+ */
+ virtual void UpdateScreen( const CFbsBitmap& aFrame, const CFbsBitmap& aMask );
+
+ /**
+ * Draw an animation frame on the screen without a mask.
+ * From MSAnimObserver.
+ *
+ * @since S60 3.2
+ *
+ * @param aFrame Contains the animation frame to draw on the screen.
+ */
+ virtual void UpdateScreen( const CFbsBitmap& aFrame );
+
+protected:
+
+ /**
+ * First phase constructor.
+ *
+ * @since S60 3.2
+ */
+ IMPORT_C CSAnimCtrl();
+
+ /**
+ * Second phase constructor for derived classes.
+ *
+ * @since S60 3.2
+ *
+ * @param aRect Rectangle designated for the control.
+ * @param aContainer The compound control that is the container for this control.
+ */
+ IMPORT_C void BaseConstructL(
+ const TRect& aRect,
+ const CCoeControl& aContainer );
+
+private:
+
+ /** Copy constructor. */
+ CSAnimCtrl( const CSAnimCtrl& );
+ /** Assignment operator. */
+ CSAnimCtrl& operator=( const CSAnimCtrl& );
+
+protected: // data
+
+ /** Start-up Animation engine. Owned. May not be NULL. */
+ CSAnimEngine* iEngine;
+
+ /** Bitmap to draw next. Not owned. May be NULL. */
+ const CFbsBitmap* iImage;
+
+ /** Mask for the bitmap to draw next. Not owned. May be NULL. */
+ const CFbsBitmap* iMask;
+
+ /** Background colour to use when drawing. */
+ TRgb iBackgroundColour;
+
+private: // data
+
+ TAny* iReserved1; /** Reserved for future use. */
+ TAny* iReserved2; /** Reserved for future use. */
+ TInt iReserved3; /** Reserved for future use. */
+ TInt iReserved4; /** Reserved for future use. */
+
+ };
+
+#endif // SANIMCTRL_H