diff -r 4ea6f81c838a -r 0e9bb658ef58 mmuifw_plat/mul_coverflowwidget_api/inc/mul/imulcoverflowwidget.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmuifw_plat/mul_coverflowwidget_api/inc/mul/imulcoverflowwidget.h Wed Sep 01 12:23:18 2010 +0100 @@ -0,0 +1,169 @@ +/* +* 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: The interface class for all Multimedia UI Library Cover Flow Widgets. + * +*/ + +#ifndef I_MULCOVERFLOWWIDGET_H +#define I_MULCOVERFLOWWIDGET_H + +#include +#include +#include +#include +#include + +//Gesture Helper namespace +namespace GestureHelper + { + class CGestureHelper; + } + +namespace Alf + { + namespace mulcoverflowwidget + { + static const IfId Ident= + { + 0, "mulcoverflowwidget" + }; + } + + /** + * An interface for Multimedia coverflow Widget. + * Widgets consist of control and visualization elements. + * + * Interface paradigm would be used in a restrictive way. + * Controls are owned by Alfred environment. + * Widgets can be constructed using the widget factory. + * Widgets are owned and accessed using the Alfred + * environment. + * + * @lib mulcoverflowwidget.lib + */ + class IMulCoverFlowWidget : public IMulMultiItemWidget + { + public: + + /** + * Getter for the type identifier of this interface. + * + * @return A descriptor to identify the type of this interface. + **/ + static inline const IfId& Type() + { + return mulcoverflowwidget::Ident; + } + + /** + * Setting color as background of the coverflow. + * The API should be used in the case when the background type doesn't + * comes along with any extra data. This API should be used when the + * background has to set to Black, White or any other color + * + * @param aColor RGB color + * + * Examples: + * @code + * Set background of the coverflow as red color. + * + * mCoverFlowWidget->SetBackground( KRgbRed ); + * @endcode + **/ + virtual void SetBackground( const TRgb& aColor ) = 0; + + /** + * Setting Skin id as background of the coverflow. + * The API should be used in the case when the background of + * Coverflow should come from skin data. + * + * @param aItemID Skin ID. + * + * Examples: + * @code + * Set background of the coverflow as a texture. + * + * mCoverFlowWidget->SetBackground( KAknsIIDQsnBgScreenIdle ); + * + * @endcode + **/ + virtual void SetBackground(const TAknsItemID& aItemID ) = 0; + + /** + * Setting UIOnOff mode in template4 of the coverflow. + * The API should be in template 4 to hide or show counter as per UI ON/OFF mode. + * + * @param aUIOn true if UIOn mode and counter to be displayed, else false for UIOff. + * @param aTransition transition time to show or hide counter. + + * Examples: + * @code + * Set UiOnOff mode in coverflow widget. + * + * mCoverFlowWidget->SetUIOnOFF( true, 100 ); + * + * @endcode + **/ + virtual void SetUIMode(bool aUIOn = false, int aTransition = 0 ) = 0; + + /** + * Rotate the highlight image + * The API is supported in template 4(fullscreen templet) to rotate the highlight image as per the + * direction specified in the param. + * This will rotate the image 90 degree on left or right side. + * + * @param aDirection, Direction of the rotation (ERotateLeft/ERotateRight). + * @param aImageSize, The actual size of the current highlighted image. + * @param aTransition transition time to rotate the image. + + * Examples: + * @code + * Rotate the highlight image of the coverflow widget. + * + * mCoverFlowWidget->RotateImage( IMulWidget::ERotateLeft,TSize(500,400),100 ); + * + * @endcode + **/ + virtual void RotateImage(TMulRotation aDirection ,TSize aImageSize,int aAnimationTime) = 0; + + /** + * Returns the gesture helper used in coverflow. + * This API is required for sharing the gesture helper between the widget and application. + * The ownership of the gesture helper lies with the widget. + * + * @return CGestureHelper Instance of gesture helper created by the widget. + + * Examples: + * @code + * Query the gesture helper and use it in application + * + * CGestureHelper* gestureInstance = mCoverFlowWidget->Gesturehelper(); + * gestureInstance->addObserver(*this); + * + * @endcode + **/ + virtual GestureHelper::CGestureHelper* Gesturehelper() = 0; + + + /** + * Virtual destructor. + **/ + virtual ~IMulCoverFlowWidget() + { + } + }; + + } // namespace Alf + +#endif // I_MULCOVERFLOWWIDGET_H