diff -r 4526337fb576 -r 3eca7e70b1b8 mulwidgets/mulcoverflowwidget/inc/mulcoverflowtemplate.h --- a/mulwidgets/mulcoverflowwidget/inc/mulcoverflowtemplate.h Tue Feb 02 00:28:09 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,397 +0,0 @@ -/* -* Copyright (c) 2007-2008 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: template header for CoverFlow -* -*/ - -// This file defines the API for MulCoverFlowWidget.dll - -#ifndef __MULCOVERFLOWTEMPLATE_H__ -#define __MULCOVERFLOWTEMPLATE_H__ - -// Avkon Includes -#include - -#include "mulbaseelement.h" // for TMulCoverflowItem - -namespace osncore - { -// Forward declarations -class UString; - } - -namespace Alf - { -// Forward declarations -class MulCoverFlowControl; - -struct TMulCoverFlowTemplateImpl - { - - TMulCoverFlowTemplateImpl() - { - mEnhancedSupportFlag = false; - mSliderEnabled = false; - mUiOnOffFlag = false; - mOrientationChange = false; - mControl = NULL; - mBaseElement = NULL; - mMaxVisibleCount = 0; - mTitleFontMaxCharLength = 0; - mDetailFontMaxCharLength = 0; - mCounterFontMaxCharLength = 0; - } - - //Structure used to store the position and sizes of the counter. - TMulCoverFlowItem mCounterDimensions; - TMulCoverFlowItem mSliderDimensions; - TMulCoverFlowItem mIndicatorDimensions; - bool mEnhancedSupportFlag; - bool mSliderEnabled; - bool mUiOnOffFlag ; - int mMaxVisibleCount; - MulBaseElement* mBaseElement; - bool mOrientationChange; - MulCoverFlowControl* mControl; // doesn't own it . - mulwidget::TLogicalTemplate mTemplateID; // to store the template name - TSize mTitleParentSize; - TSize mDetailParentSize; - int mTitleFontMaxCharLength; - int mDetailFontMaxCharLength; - int mCounterFontMaxCharLength; - - ~TMulCoverFlowTemplateImpl() - { - } - }; - - - -class MulCoverFlowTemplate - { - -public: // Constructor and Destructor - - /** - * Constructor - */ - MulCoverFlowTemplate(MulCoverFlowControl &aControl, MulBaseElement &aBaseElement); - - /** - * Destructor - */ - virtual ~MulCoverFlowTemplate(); - -public: // New Methods - - /** - * Returns the counter element structure. - * - * @return Returns a refrence to the counter element structure. - */ - const TMulCoverFlowItem& CounterDimensions() const - {return mData->mCounterDimensions;} - - /* - * Returns whether the current template and orientation supports enhanced mode or not. - * - * @Returns true/false depending on whether the template supports or not. - */ - bool EnhancedTagParsed() const {return mData->mEnhancedSupportFlag;} - - /* - * Returns whether the slider is enable or not for the current template and - * orientation. - * - * @Returns true/false depending on whether enabled or not. - */ - bool IsSliderVisible() const {return mData->mSliderEnabled;} - - /* - * Returns the maxvisible items to be in the respective template . - * - * @Returns int depending on the no of visble item count. - */ - int MaxVisibleCount() const {return mData->mMaxVisibleCount;} - - /** - * Returns whether the template is UI on/off or not . - * That is UI on/off flag is enabled in the template or not . - * - * @returns true if flag is enabled else false . - */ - bool IsUiOnOffFlagEnabled() const {return mData->mUiOnOffFlag;} - - /** - * Returns the slider dimensions . - * - * @Returns TMulCoverFlowItem dimension of the slider - */ - const TMulCoverFlowItem& SliderDimension() {return mData->mSliderDimensions;} - - /** - * Returns the video indicator dimension. - * - * @return Returns a refrence to the indicator dimension. - */ - const TMulCoverFlowItem& IndicatorDimension() const {return mData->mIndicatorDimensions;} - - /** - * Returnt the size of the title window size. - * - */ - const TSize& TitleWindowSize() {return mData->mTitleParentSize;} - - /** - * Return the size of the detail window size. - * - */ - const TSize& DetailWindowSize() {return mData->mDetailParentSize; } - - /** - * Return the title maximum character font Width - * - */ - int TitleMaxCharWidth() {return mData->mTitleFontMaxCharLength;} - - /** - * Return the detail maximum character font Width - */ - int DetailMaxCharWidth() {return mData->mDetailFontMaxCharLength;} - - /** - * Return the counter maximum character font Width - */ - int CounterMaxCharWidth() {return mData->mCounterFontMaxCharLength;} - - - /** - * Virtual function must be overriden by derived class. - * Creates the visualisation based on the Orientation - * also updates the visualisation on orientation change - * - * @param aIsLandscape, current orientation - * @param aIsOrientationChange, based on flag decide to - * create or update the visualisation - */ - virtual void CreateVisualisation(bool aIsLandscape,bool aIsOrientationChange = false); - - -protected: - - /** - * Get the window rect of the Imagevisual or layouts . - * @Param aLayout layout which gives all the LCT data of - * the visual(image or layout). - * @Param aParentRect rect of the parent to the visual. - */ - TRect IconWindowRect(const TAknWindowLineLayout &aLayout, const TRect& aParentRect); - - /** - * Get the window rect of the textvisual . - * @Param aLayout layout which gives all the LCT data of - * the textvisual. - * @Param aParentRect rect of the parent to the visual - */ - TRect TextWindowRect(const TAknTextLineLayout& aLayout, const TRect& aParentRect); - - /** - * Set the style to the textvisual - * - * @param aTextFontId the fontId to be set on textvisual. - * @param textVisual refernce to textvisual. - */ - void SetTextStyle(int aTextFontId, CAlfTextVisual& textVisual); - - /** - * Update the maximum character width of text font of textvisual - * @Param textVisual , alftextvisual - */ - int UpdateMaxFontWidth(CAlfTextVisual* textVisual); - - /** - * Applies brush on the specified visual . - * The colour of the brush is aBrushColour. - * @param aVisual visual on which brush has to be applied. - * @param aBrushColour The brush colour. - * @param aBrushOpacity The opacity to be applied on the brush. - */ - void ApplyBrush( CAlfTextVisual& aVisual,const TRgb& aBrushColour, - float aBrushOpacity ); - -private: - - /** - * Returns a font id for the specified style. - * - * @Param aFontStyle font style. - * @Param aManager textstyle manager. - */ - TInt GetFontId(const UString &aFontStyle, CAlfTextStyleManager& aManager)const; - - -protected: - auto_ptr mData; - - }; - - -// class Template 4 -class MulCoverFlowTemplate4 : public MulCoverFlowTemplate - { -public: - - /** - * Constructor - */ - MulCoverFlowTemplate4(MulCoverFlowControl &aControl, MulBaseElement &aBaseElement); - - /** - * destructor - */ - ~MulCoverFlowTemplate4(); - -// From MulCoverFlowTemplate - - /** - * @See CreateVisualisation of MulCoverFlowTemplate - */ - void CreateVisualisation(bool aIsLandscape,bool aIsOrientationChange=false); - -// new method - - /** - * provides the dimension of the visual attribute (icon & video indicator) - * based on the orientation. - * - * @param aAttribute, type of visual attribue - * @param aIslandscape, current orientation - */ - static void GetIconSize(mulvisualitem::TVisualAttribute aAttribute,bool aIslandscape, - int& aHeight, int& aWidth); - -private: - - /** - * create visualisation for potrait orientation - * - */ - void CreatePrtStructure(); - - /** - * create visualisation for landscape orientation - * - */ - void CreateLscStructure(); - - /** - * create counter visual and apply attribute - * - * @param acounterPaneVerityId, lct verity of counter visual. - * @param aMainRect, parent rect for counter visual. - */ - void ApplyCounterAttribute(int acounterPaneVerityId,const TRect& aMainRect); - - }; - -// class Template 1 -class MulCoverFlowTemplate1 : public MulCoverFlowTemplate - { -public: - - /** - * Constructor - */ - MulCoverFlowTemplate1(MulCoverFlowControl &aControl, MulBaseElement &aBaseElement); - - /** - * destructor - */ - ~MulCoverFlowTemplate1(); - -// From MulCoverFlowTemplate - - /** - * @See CreateVisualisation of MulCoverFlowTemplate - */ - void CreateVisualisation(bool aIsLandscape,bool aIsOrientationChange=false); - -// new method - - /** - * provides the dimension of the visual attribute (icon & video indicator) - * based on the orientation. - * - * @param aAttribute, type of visual attribue - * @param aIslandscape, current orientation - */ - static void GetIconSize(mulvisualitem::TVisualAttribute aAttribute,bool aIslandscape, - int& aHeight, int& aWidth); - -private: - - /** - * create visualisation for potrait orientation - */ - void CreatePrtStructure(); - - /** - * create visualisation for landscape orientation - */ - void CreateLscStructure(); - - /** - * create counter visual and apply attribute - * - * @param acounterPaneVerityId, lct verity of counter visual. - * @param aMainRect, parent rect for counter visual. - */ - void ApplyCounterAttribute(int acounterPaneVerityId,const TRect& aMainRect); - - /** - * apply attribute on main text layout - * - * @param aMainRect, parent rect for main text layout - */ - void ApplyTextAttribute(const TRect& aMainRect); - - /** - * create title text visual and apply attribute - * - * @param aVerityId, lct verity of title text. - * @param aTextLayoutRect, parent rect for title text - */ - void ApplyTitleTextAttribute(int aVerityId,const TRect& aTextLayoutRect); - - /** - * create detail text visual and apply attribute - * - * @param aVerityId, lct verity of detail text. - * @param aTextLayoutRect, parent rect for detail text - */ - void ApplyDetailTextAttribute(int aVerityId,const TRect& aTextLayoutRect); - - /** - * parse and apply the slider attribute - * - * @param aMainRect, parent rect for slider - */ - void ApplySliderAttribute(const TRect& aMainRect); - }; - - - }//namespace Alf -#endif //__MULCOVERFLOWTEMPLATE_H - -//End of file