startupservices/startupanimation/sanimengine/inc/sanimengine.h
changeset 0 2e3d3ce01487
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/startupservices/startupanimation/sanimengine/inc/sanimengine.h	Tue Feb 02 10:12:00 2010 +0200
@@ -0,0 +1,159 @@
+/*
+* 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 CSAnimEngine class
+*
+*/
+
+
+#ifndef SANIMENGINE_H
+#define SANIMENGINE_H
+
+#include <e32base.h>
+#include <gdi.h> // For TDisplayMode.
+
+class MSAnimObserver;
+class RFs;
+
+/**
+*  Start-up Animation Engine interface class.
+*
+*  @lib None
+*  @since S60 3.2
+*/
+NONSHARABLE_CLASS( CSAnimEngine ) : public CBase
+    {
+
+public:
+
+    /**
+    * Constructs a CSAnimEngine object.
+    *
+    * @since S60 3.2
+    *
+    * @param aFs Fileserver reference.
+    * @param aObserver Observer for animation events..
+    * @return The new object
+    */
+    IMPORT_C static CSAnimEngine* NewL( RFs& aFs, MSAnimObserver& aObserver );
+
+    /**
+    * Destructor.
+    *
+    * @since S60 3.2
+    */
+    virtual ~CSAnimEngine();
+
+    /**
+    * Set the file name identifying the image / animation to show and other
+    * properties that affect how the image / animation is shown.
+    *
+    * @since S60 3.2
+    *
+    * @param aImageFileName Identifies the image file to use.
+    * @param aDisplayMode Display mode to use, if supported by the image.
+    * @param aSize Requested size for the image.
+    * @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 aRepeatCount How many times to repeat the animation.
+    * Zero indicates infinite. For future use - not currently used.
+    * @return KErrNone if file was found, a plug-in for the file type was found
+    * and successfully loaded. One of the system-wide error codes otherwise.
+    */
+    virtual TInt SetImageProperties(
+        const TDesC& aImageFileName,
+        const TDisplayMode aDisplayMode,
+        const TSize& aSize,
+        const TTimeIntervalMicroSeconds32& aFrameDelay,
+        const TBool aScalingEnabled,
+        const TInt aRepeatCount ) = 0;
+
+    /**
+    * Set the file name identifying the tone to play and other properties that
+    * affect how the tone is played.
+    *
+    * @since S60 3.2
+    *
+    * @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 aRepeatCount How many times to repeat the tone.
+    * Zero indicates infinite. For future use - not currently used.
+    * @return KErrNone if file was found, a plug-in for the file type was found
+    * and successfully loaded. One of the system-wide error codes otherwise.
+    */
+    virtual TInt SetToneProperties(
+        const TDesC& aToneFileName,
+        const TInt aVolume,
+        const TTimeIntervalMicroSeconds& aVolumeRamp,
+        const TInt aRepeatCount ) = 0;
+
+    /**
+    * 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 aStatus Request to complete when loading is complete.
+    */
+    virtual void Load( TRequestStatus& aStatus ) = 0;
+
+    /**
+    * Get the backgroud colour of the image.
+    * Should only be called after successfully loading the image.
+    *
+    * @since S60 3.2
+    *
+    * @return The backgroud colour requested for the image.
+    */
+    virtual TRgb BackroundColour() const = 0;
+
+    /**
+    * 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 ) = 0;
+
+    /**
+    * Cancel activity.
+    *
+    * @since S60 3.2
+    */
+    virtual void Cancel() = 0;
+
+protected:
+
+    /**
+    * Constructor.
+    *
+    * @since S60 3.2
+    */
+    CSAnimEngine();
+
+private:
+
+    /** Copy constructor. */
+    CSAnimEngine( const CSAnimEngine& );
+    /** Assignment operator. */
+    CSAnimEngine& operator=( const CSAnimEngine& );
+
+    };
+
+#endif // SANIMENGINE_H