camerauis/activepalette/Src/ActivePalette2HUI.cpp
changeset 19 d9aefe59d544
parent 3 8b2d6d0384b0
child 21 fa6d9f75d6a6
child 28 3075d9b614e6
--- a/camerauis/activepalette/Src/ActivePalette2HUI.cpp	Tue Feb 02 00:01:39 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1181 +0,0 @@
-/*
-* 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:  AP implementation using HUITK*
-*/
-
-
-/**
- * @file ActivePalette2HUI.cpp
- * AP implementation using HUITK
- */
-
-#include <uiacceltk/HuiEvent.h>
-#include <uiacceltk/HuiImageVisual.h>
-#include <uiacceltk/HuiUtil.h>
-#include <uiacceltk/HuiFlowLayout.h>
-#include <uiacceltk/HuiTextVisual.h>
-#include <uiacceltk/HuiMeshVisual.h>
-#include <AknUtils.h>
-#include <AknIconUtils.h>
-#include <activepalette2factory.h>
-#include <activepalette2observer.h>
-#include <activepalette2ui.h>
-#include <activepalette2graphics.mbg>
-
-#include "ActivePalette2HUI.h"
-#include "ActivePalette2Cfg.h"
-#include "ActivePalette2Item.h"
-#include "ActivePalette2Utils.h"
-#include "ActivePalette2Model.h"
-
-
-
-#define PREPROCESS_BITMAPS
-
-#define KPaletteHiddenXPos (iScreenSize.iWidth)
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::CActivePalette2HUI()
-// -----------------------------------------------------------------------------
-//
-CActivePalette2HUI::CActivePalette2HUI(CHuiEnv& aEnv)
-: CHuiControl(aEnv) 
-    {
-    // No implementation required 
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::NewL()
-// -----------------------------------------------------------------------------
-//
-CActivePalette2HUI* CActivePalette2HUI::NewL(CHuiEnv& aEnv) 
-    { 
-	CActivePalette2HUI* self = new(ELeave) CActivePalette2HUI(aEnv); 
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-    }
-    
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::ConstructL()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::ConstructL()
-    {
-    TRendererCallBacks callBacks;
-    callBacks.iTooltipDescriptive = this;
-    callBacks.iItemScrollDescriptive = this;
-    callBacks.iFocusDescriptive = this;
-    callBacks.iAppearanceDescriptive = this;
-    
-	iModel = CActivePalette2Model::NewL(*this, ActivePalette2Utils::APDimensionSize( EItemSize ), callBacks);
-
-    UpdateTopLeftCornerWithScreenSize();
-	                        
-	// Full screen layout, used to get screen-orientation notifications
-	iFullScreenLayout = AppendLayoutL(EHuiLayoutTypeAnchor);
-	iFullScreenLayout->SetFlags(EHuiVisualFlagLayoutUpdateNotification);
-	
-    iPaletteLayout = AppendLayoutL(EHuiLayoutTypeAnchor);
-    iPaletteLayout->SetFlags(EHuiVisualFlagManualLayout);
-    iPaletteLayout->SetSize(THuiRealSize(TSize(ActivePalette2Utils::APDimension(EPaletteWidth), ActivePalette2Utils::APDimension(ETopSectionHeight) + ActivePalette2Utils::APDimension(EBottomSectionHeight) )));
-    iPaletteLayout->SetPos(THuiRealPoint(iTopLeftCorner));
-    iPaletteLayout->SetClipping(ETrue);
-
-	CFbsBitmap* picture;
-	CFbsBitmap* mask;
-
-    // Background top-section
-    iBackgroundTopSectionLayout = AppendLayoutL(EHuiLayoutTypeAnchor, iPaletteLayout);
-    iBackgroundTopSectionLayout->SetFlags(EHuiVisualFlagManualLayout);
-    iBackgroundTopSectionLayout->SetSize(THuiRealSize(TSize(ActivePalette2Utils::APDimension(EPaletteWidth), ActivePalette2Utils::APDimension(ETopSectionHeight))));
-    iBackgroundTopSectionLayout->SetPos(THuiRealPoint(TopScrollPanePosition()));
-
-    iBackgroundTopSectionVisual = CHuiImageVisual::AddNewL(*this, iBackgroundTopSectionLayout);
-
-	AknIconUtils::CreateIconLC(picture, mask, NAP2Cfg::KUIGraphics, EMbmActivepalette2graphicsQgn_graf_cam4_tb_top, EMbmActivepalette2graphicsQgn_graf_cam4_tb_top_mask);
-
-    iBackgroundTopSectionTexture = CHuiTexture::NewL();
-    iBackgroundTopSectionTexture->UploadL(*picture, mask);
-    
-    iBackgroundTopSectionVisual->SetImage( THuiImage( *iBackgroundTopSectionTexture ) );
-    
-    CleanupStack::PopAndDestroy(); // picture
-    CleanupStack::PopAndDestroy(); // mask
-
-
-    // Background mid-section
-    iBackgroundMidSectionLayout = AppendLayoutL(EHuiLayoutTypeAnchor, iPaletteLayout);
-    iBackgroundMidSectionLayout->SetFlags(EHuiVisualFlagManualLayout);
-    iBackgroundMidSectionLayout->SetSize(THuiRealSize(TSize(ActivePalette2Utils::APDimension(EPaletteWidth), 0)));
-    iBackgroundMidSectionLayout->SetPos(THuiRealPoint(TopScrollPanePosition() + TPoint(0, ActivePalette2Utils::APDimension(ETopSectionHeight))));
-
-    iBackgroundMidSectionVisual = CHuiImageVisual::AddNewL(*this, iBackgroundMidSectionLayout);
-
-	AknIconUtils::CreateIconLC(picture, mask, NAP2Cfg::KUIGraphics, EMbmActivepalette2graphicsQgn_graf_cam4_tb_body, EMbmActivepalette2graphicsQgn_graf_cam4_tb_body_mask);
-
-    iBackgroundMidSectionTexture = CHuiTexture::NewL();
-    iBackgroundMidSectionTexture->UploadL(*picture, mask);
-    
-    iBackgroundMidSectionVisual->SetImage( THuiImage( *iBackgroundMidSectionTexture ) );
-    
-    CleanupStack::PopAndDestroy(); // picture
-    CleanupStack::PopAndDestroy(); // mask
-
-
-    // Background bottom-section
-    iBackgroundBottomSectionLayout = AppendLayoutL(EHuiLayoutTypeAnchor, iPaletteLayout);
-    iBackgroundBottomSectionLayout->SetFlags(EHuiVisualFlagManualLayout);
-    iBackgroundBottomSectionLayout->SetSize(THuiRealSize(TSize(ActivePalette2Utils::APDimension(EPaletteWidth), ActivePalette2Utils::APDimension(EBottomSectionHeight))));
-    iBackgroundBottomSectionLayout->SetPos(THuiRealPoint(BottomScrollPanePosition()));
-
-    iBackgroundBottomSectionVisual = CHuiImageVisual::AddNewL(*this, iBackgroundBottomSectionLayout);
-
-	AknIconUtils::CreateIconLC(picture, mask, NAP2Cfg::KUIGraphics, EMbmActivepalette2graphicsQgn_graf_cam4_tb_bottom, EMbmActivepalette2graphicsQgn_graf_cam4_tb_bottom_mask);
-
-    iBackgroundBottomSectionTexture = CHuiTexture::NewL();
-    iBackgroundBottomSectionTexture->UploadL(*picture, mask);
-    
-    iBackgroundBottomSectionVisual->SetImage( THuiImage( *iBackgroundBottomSectionTexture ) );
-    
-    CleanupStack::PopAndDestroy(); // picture
-    CleanupStack::PopAndDestroy(); // mask
-
-    
-    // Item layouts
-    for( TInt i = 0; i < NAP2Cfg::KMaxNofItemsInView + 1; i++)
-        {
-        CHuiLayout* layout = AppendLayoutL(EHuiLayoutTypeAnchor, iPaletteLayout);
-        layout->SetFlags(EHuiVisualFlagManualLayout);
-        layout->SetSize(THuiRealSize(ActivePalette2Utils::APDimensionSize( EItemSize )));
-        layout->SetPos(THuiRealPoint(ItemPosition(i)));
-        iItemLayout.Append(layout);
-        
-        CHuiImageVisual* image = CHuiImageVisual::AddNewL(*this, layout);
-        iItemVisual.Append(image);
-        
-        CHuiTexture* texture = CHuiTexture::NewL();
-        iItemTexture.Append(texture);
-        
-        image->SetImage( THuiImage( *texture ) );
-        }
-    
-    
-    // Top scroll icon
-    iTopScrollLayout = AppendLayoutL(EHuiLayoutTypeAnchor, iPaletteLayout);
-    iTopScrollLayout->SetFlags(EHuiVisualFlagManualLayout);
-    iTopScrollLayout->SetSize(THuiRealSize(ActivePalette2Utils::APDimensionSize(E3dScrollIconSize)));
-    iTopScrollLayout->SetPos(THuiRealPoint(TopScrollPanePosition() + ActivePalette2Utils::APDimensionPoint(E3dScrollIconOffset)));
-    
-    iTopScrollVisual = CHuiImageVisual::AddNewL(*this, iTopScrollLayout);
-
-	AknIconUtils::CreateIconLC(picture, mask, NAP2Cfg::KUIGraphics, EMbmActivepalette2graphicsQgn_graf_cam4_tb_arrow_up, EMbmActivepalette2graphicsQgn_graf_cam4_tb_arrow_up_mask);
-
-    iTopScrollTexture = CHuiTexture::NewL();
-    iTopScrollTexture->UploadL(*picture, mask);
-    
-    iTopScrollVisual->SetImage( THuiImage( *iTopScrollTexture ) );
-    
-    CleanupStack::PopAndDestroy();
-    CleanupStack::PopAndDestroy();
-    
-	
-	// Bottom scroll icon
-    iBottomScrollLayout = AppendLayoutL(EHuiLayoutTypeAnchor, iPaletteLayout);
-    iBottomScrollLayout->SetFlags(EHuiVisualFlagManualLayout);
-    iBottomScrollLayout->SetSize(THuiRealSize(ActivePalette2Utils::APDimensionSize(E3dScrollIconSize)));
-    iBottomScrollLayout->SetPos(THuiRealPoint(BottomScrollPanePosition() + ActivePalette2Utils::APDimensionPoint(E3dScrollIconOffset)));
-
-    iBottomScrollVisual = CHuiImageVisual::AddNewL(*this, iBottomScrollLayout);
-
-	AknIconUtils::CreateIconLC(picture, mask, NAP2Cfg::KUIGraphics, EMbmActivepalette2graphicsQgn_graf_cam4_tb_arrow_down, EMbmActivepalette2graphicsQgn_graf_cam4_tb_arrow_down_mask);
-
-    iBottomScrollTexture = CHuiTexture::NewL();
-    iBottomScrollTexture->UploadL(*picture, mask);
-    
-    iBottomScrollVisual->SetImage( THuiImage( *iBottomScrollTexture ) );
-    
-    CleanupStack::PopAndDestroy();
-    CleanupStack::PopAndDestroy();
-    
-    
-    // Focus ring
-    iFocusRingLayout = AppendLayoutL(EHuiLayoutTypeAnchor, iPaletteLayout);
-    iFocusRingLayout->SetFlags(EHuiVisualFlagManualLayout);
-    iFocusRingLayout->SetSize(THuiRealSize(TSize(ActivePalette2Utils::APDimension(EFocusRingWidth), ActivePalette2Utils::APDimension(EFocusRingHeight))));
-    iFocusRingLayout->SetPos(THuiRealPoint(ItemPosition(0) + TPoint(ActivePalette2Utils::APDimension(EFocusRingXOffset), ActivePalette2Utils::APDimension(EFocusRingYOffset))));
-    
-    iFocusRingVisual = CHuiImageVisual::AddNewL(*this, iFocusRingLayout);
-    
-	AknIconUtils::CreateIconLC(picture, mask, NAP2Cfg::KUIGraphics, EMbmActivepalette2graphicsQgn_graf_cam4_tb_focus, EMbmActivepalette2graphicsQgn_graf_cam4_tb_focus_mask);
-
-    iFocusRingTexture = CHuiTexture::NewL();
-    iFocusRingTexture->UploadL(*picture, mask);
-    
-    iFocusRingVisual->SetImage( THuiImage( *iFocusRingTexture ) );
-    
-    CleanupStack::PopAndDestroy();
-    CleanupStack::PopAndDestroy();
-    
-    
-    // Tooltip
-	iTooltipLayout = AppendLayoutL(EHuiLayoutTypeAnchor);
-    iTooltipLayout->SetFlags(EHuiVisualFlagManualLayout);
-    iTooltipLayout->SetSize(THuiRealSize(TSize(0, 0)));
-    iTooltipLayout->SetPos(THuiRealPoint(iTopLeftCorner));
-    iTooltipLayout->SetClipping(ETrue);
-
-
-    // Tooltip background for nose section
-    iTooltipBackgroundNoseLayout = AppendLayoutL(EHuiLayoutTypeAnchor, iTooltipLayout);
-    iTooltipBackgroundNoseLayout->SetFlags(EHuiVisualFlagManualLayout);
-    iTooltipBackgroundNoseLayout->SetSize(THuiRealSize(TSize(ActivePalette2Utils::APDimension(ETooltipNose), ActivePalette2Utils::APDimension(ETooltipHeight))));
-    iTooltipBackgroundNoseLayout->SetPos(THuiRealPoint(TPoint(0,0)));
-
-    iTooltipBackgroundNoseVisual = CHuiImageVisual::AddNewL(*this, iTooltipBackgroundNoseLayout);
-
-	AknIconUtils::CreateIconLC(picture, mask, NAP2Cfg::KUIGraphics, EMbmActivepalette2graphicsQgn_graf_cam4_tb_tooltip_end, EMbmActivepalette2graphicsQgn_graf_cam4_tb_tooltip_end_mask);
-
-    iTooltipBackgroundNoseTexture = CHuiTexture::NewL();
-    iTooltipBackgroundNoseTexture->UploadL(*picture, mask);
-    
-    iTooltipBackgroundNoseVisual->SetImage( THuiImage( *iTooltipBackgroundNoseTexture ) );
-    
-    CleanupStack::PopAndDestroy(); // picture
-    CleanupStack::PopAndDestroy(); // mask
-
-    
-    // Tooltip background for nose section
-    iTooltipBackgroundBodyLayout = AppendLayoutL(EHuiLayoutTypeAnchor, iTooltipLayout);
-    iTooltipBackgroundBodyLayout->SetFlags(EHuiVisualFlagManualLayout);
-    iTooltipBackgroundBodyLayout->SetSize(THuiRealSize(TSize(ActivePalette2Utils::APDimension(E3dTooltipMaxWidth), ActivePalette2Utils::APDimension(ETooltipHeight))));
-    iTooltipBackgroundBodyLayout->SetPos(THuiRealPoint(TPoint(ActivePalette2Utils::APDimension(ETooltipNose),0)));
-
-    iTooltipBackgroundBodyVisual = CHuiImageVisual::AddNewL(*this, iTooltipBackgroundBodyLayout);
-
-	AknIconUtils::CreateIconLC(picture, mask, NAP2Cfg::KUIGraphics, EMbmActivepalette2graphicsQgn_graf_cam4_tb_tooltip_body, EMbmActivepalette2graphicsQgn_graf_cam4_tb_tooltip_body_mask);
-    
-    iTooltipBackgroundBodyTexture = CHuiTexture::NewL();
-    iTooltipBackgroundBodyTexture->UploadL(*picture, mask);
-    
-    iTooltipBackgroundBodyVisual->SetImage( THuiImage( *iTooltipBackgroundBodyTexture ) );
-    
-    CleanupStack::PopAndDestroy(); // picture
-    CleanupStack::PopAndDestroy(); // mask
-
-
-    // Tooltip text layouts    
-    iTooltipTextLayout = AppendLayoutL(EHuiLayoutTypeAnchor, iTooltipLayout);
-    iTooltipTextLayout->SetFlags(EHuiVisualFlagManualLayout);
-    iTooltipTextLayout->SetSize(THuiRealSize(TSize(ActivePalette2Utils::APDimension(E3dTooltipMaxWidth), ActivePalette2Utils::APDimension(ETooltipHeight))));
-    iTooltipTextLayout->SetPos(THuiRealPoint(TPoint(ActivePalette2Utils::APDimension(ETooltipNose), ActivePalette2Utils::APDimension(E3dTooltipTextYOffset))));
-
-    iTooltipTextVisual = CHuiTextVisual::AddNewL(*this, iTooltipTextLayout);
-    iTooltipTextVisual->SetStyle(EHuiTextStyleMenuSmall, EHuiBackgroundTypeLight);
-    iTooltipTextVisual->SetMaxLineCount(1);
-    iTooltipTextVisual->SetAlign(EHuiAlignHLeft, EHuiAlignVCenter);
-    iTooltipTextVisual->SetTextL(_L(""));
-
-
-	iGeneralTimer = CPeriodic::NewL(CActive::EPriorityStandard);
-    }
-    
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::~CActivePalette2HUI()
-// -----------------------------------------------------------------------------
-//
-CActivePalette2HUI::~CActivePalette2HUI()
-    {
-    if (iGeneralTimer)
-        {
-        iGeneralTimer->Cancel();
-        delete iGeneralTimer;
-        }
-        
-    iItemLayout.Reset();
-    iItemVisual.Reset();
-    iItemTexture.ResetAndDestroy();
-    
-    delete iBackgroundTopSectionTexture;
-    delete iBackgroundMidSectionTexture;
-    delete iBackgroundBottomSectionTexture;
-    
-    delete iFocusRingTexture;
-    
-    delete iBottomScrollTexture;
-    delete iTopScrollTexture;
-
-    delete iTooltipBackgroundBodyTexture;
-    delete iTooltipBackgroundNoseTexture;
-    
-    delete iModel;
-	iModel = NULL;
-    }
-    
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::InstallItemL()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::InstallItemL(const TActivePalette2ItemVisible& aItemVisible, 
-    						const TUid& aPluginUid, 
-    						const TDesC8& aCustomDataDes) 
-    { 
-	return iModel->InstallItemL(aItemVisible, aPluginUid, aCustomDataDes);
-    }
-				
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::InstallItemL()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::InstallItemL(const TActivePalette2ItemVisible& aItemVisible,
-    						const TUid& aPluginUid, 
-    						TInt aCustomDataInt ) 
-    { 
-	return iModel->InstallItemL(aItemVisible, aPluginUid, aCustomDataInt);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::InstallItemL()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::InstallItemL(const TActivePalette2ItemVisible& aItemVisible,
-    						const TUid& aPluginUid, 
-    						TInt aCustomDataInt, 
-    						const TDesC8& aCustomDataDes) 
-	{ 
-	return iModel->InstallItemL(aItemVisible, aPluginUid, aCustomDataInt, aCustomDataDes);
-	}
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::RemoveItem()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::RemoveItem(const TInt aItemId) 
-    { 
-	return iModel->RemoveItem(aItemId);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::SetItemVisibility()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::SetItemVisibility(const TInt aItemId, const TBool aIsVisible) 
-    { 
-    return iModel->SetItemVisibility(aItemId, aIsVisible);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::GetItemVisibility()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::GetItemVisibility(const TInt aItemId, TBool &aIsVisible) const
-    { 
-    return iModel->GetItemVisibility(aItemId, aIsVisible);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::GetItemList()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::GetItemList(RArray<TActivePalette2ItemVisible>& aItemVisibleList) const
-    { 
-    return iModel->GetItemList(aItemVisibleList);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::SetItemList()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::SetItemList(const RArray<TActivePalette2ItemVisible>& aItemVisibleList) 
-    { 
-    return iModel->SetItemList(aItemVisibleList);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::SendMessage()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::SendMessage(TInt aItemId, TInt aMessageId, const TDesC8& aDataDes) 
-    { 
-    return iModel->SendMessage(aItemId, aMessageId, aDataDes);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::SendMessage()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::SendMessage(TInt aItemId, TInt aMessageId, TInt aDataInt) 
-    { 
-    return iModel->SendMessage(aItemId, aMessageId, aDataInt);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::GetCurrentItem()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::GetCurrentItem(TInt& aItemId) const 
-    { 
-	return iModel->GetCurrentItem(aItemId);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::SetCurrentItem()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::SetCurrentItem(const TInt aItemId) 
-    { 
-    return iModel->SetCurrentItem(aItemId);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::SetPaletteVisibility()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::SetPaletteVisibility(TBool aVisible, TBool aAnimated, TInt aDelayedStartMilliseconds) 
-    { 
-    return iModel->SetPaletteVisibility(aVisible, aAnimated, aDelayedStartMilliseconds);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::SetPaletteVisibilityAnimationDuration()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::SetPaletteVisibilityAnimationDuration(TInt aTimeInMilliseconds) 
-    { 
-    return iModel->SetPaletteVisibilityAnimationDuration(aTimeInMilliseconds);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::GetPaletteVisibilityAnimationDuration()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::GetPaletteVisibilityAnimationDuration(TInt& aTimeInMilliseconds) const 
-    { 
-    return iModel->GetPaletteVisibilityAnimationDuration(aTimeInMilliseconds);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::CoeControl()
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CActivePalette2HUI::CoeControl() 
-    { 
-    return NULL; 
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::HuiControl()
-// -----------------------------------------------------------------------------
-//
-CHuiControl* CActivePalette2HUI::HuiControl() 
-    { 
-    return this; 
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::SetGc()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::SetGc(CBitmapContext* /*aGc*/) 
-    {
-    // Do nothing
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::RenderActivePalette()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::RenderActivePalette(const TRect& /*aRect*/) const 
-    { 
-    // Do nothing
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::SetObserver()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::SetObserver(MActivePalette2Observer* aObserver) 
-    { 
-    iObserver = aObserver;
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::GetAvailablePlugins()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::GetAvailablePlugins(RArray<TUid>& aPluginList) const 
-    { 
-    return iModel->GetAvailablePlugins(aPluginList);
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::LocateTo()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::LocateTo(const TPoint& aTopLeft) 
-    {  
-    iTopLeftCorner = aTopLeft;
-    iPaletteLayout->SetPos(THuiRealPoint(PalettePosition()));
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::Location()
-// -----------------------------------------------------------------------------
-//
-TPoint CActivePalette2HUI::Location() const 
-    { 
-    return iTopLeftCorner; 
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::SetNavigationKeys()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::SetNavigationKeys(const TActivePalette2NavigationKeys& aNavigationKeys) 
-    {  
-    iNavigationKeys = aNavigationKeys;
-    }
-
-
-
-
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::ShowTooltipUpdated()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::ShowTooltipUpdated()
-    {
-    if ( iModel->ShowTooltip() )
-        {
-        iTooltipLayout->iOpacity.Set(KOpacityFull);
-    	}
-    else
-        {
-        iTooltipLayout->iOpacity.Set(KOpacityNone);
-        }
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::ItemsUpdated()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::ItemsUpdated()
-    {
-    // Update size
-    TSize overallSize(PaletteSize());
-    iPaletteLayout->SetSize(THuiRealSize(overallSize));
-    TSize itemsSize(overallSize);
-    itemsSize.iHeight -= (ActivePalette2Utils::APDimension(ETopSectionHeight) + ActivePalette2Utils::APDimension(EBottomSectionHeight));
-    iBackgroundMidSectionLayout->SetSize(THuiRealSize(itemsSize));
-    iBackgroundBottomSectionLayout->SetPos(THuiRealPoint(BottomScrollPanePosition()));
-    
-    Render();
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::ItemAnimated()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::ItemAnimated(TInt aScreenPos, CActivePalette2Item* aItem, TInt aAnimFrame)
-    {
-	// animation frame
-	TBool ownershipTransferForFrame;
-	TBool ownershipTransferForMask;
-	CFbsBitmap* frame = NULL;
-	CFbsBitmap* frameMask = NULL;
-
-	aItem->Plugin().ProduceAniFrame(
-		CActivePalettePluginBase::EAniFocused,
-		aAnimFrame,
-		iModel->ItemAnimInfo(),
-		aItem->Icon(),
-		aItem->Mask(),
-		&frame,
-		&frameMask,
-		ownershipTransferForFrame,
-		ownershipTransferForMask);
-
-    TRAP_IGNORE(iItemTexture[aScreenPos]->UploadL(*frame, frameMask));
-    iItemVisual[aScreenPos]->SetChanged();
-
-	// release resources
-	if (ownershipTransferForFrame)
-	    {
-		delete frame;
-	    }
-	if (ownershipTransferForMask)
-	    {
-		delete frameMask;
-	    }
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::ItemAnimationComplete()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::ItemAnimationComplete(TInt /*aScreenPos*/, CActivePalette2Item* aItem)
-    {
-	aItem->Plugin().ReleaseAniFrames(CActivePalettePluginBase::EAniFocused);
-	Render();
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::PaletteAppearingUpdated()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::PaletteAppearingUpdated()
-    {
-    iGeneralTimer->Cancel();
-    iPaletteLayout->SetPos(THuiRealPoint(PalettePosition()));
-    UpdateFocus();
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::UpdateFocus()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::UpdateFocus()
-    {
-    if ( iModel->PaletteActive()
-         && iModel->CountItemsOnScreen() > 0 )
-        {
-        TPoint startPos = ItemPosition(iModel->FocusedItem()) + TPoint(ActivePalette2Utils::APDimension(EFocusRingXOffset), ActivePalette2Utils::APDimension(EFocusRingYOffset));
-        iFocusRingLayout->SetPos(THuiRealPoint(startPos));
-        iFocusRingVisual->iOpacity.Set(1.0);
-        }
-    else
-        {
-        iFocusRingVisual->iOpacity.Set(0.0);
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::APObserver()
-// -----------------------------------------------------------------------------
-//
-MActivePalette2Observer* CActivePalette2HUI::APObserver() const
-    {
-    return iObserver;
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::Render()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::Render()
-    {
-#ifdef PREPROCESS_BITMAPS    
-    CFbsBitmap*       tempBitmap = NULL;
-    CFbsBitmapDevice* tempDevice = NULL;
-    CBitmapContext*   tempGc     = NULL;
-
-    CFbsBitmap*       tempMaskBitmap = NULL;
-    CFbsBitmapDevice* tempMaskDevice = NULL;
-    CBitmapContext*   tempMaskGc     = NULL;
-    
-    TRAPD(err,
-	        ActivePalette2Utils::CreateDrawingObjectsL(EColor16MU, ActivePalette2Utils::APDimensionSize( EItemSize ),
-											   &tempBitmap,
-											   &tempDevice,
-											   &tempGc));
-											   
-    if ( err != KErrNone )
-        {
-        return;
-        }											   
-
-	TRAPD(err2, ActivePalette2Utils::CreateDrawingObjectsL(EGray256,
-		ActivePalette2Utils::APDimensionSize( EItemSize ),
-		&tempMaskBitmap,
-		&tempMaskDevice,
-		&tempMaskGc));		
-
-    if ( err2 != KErrNone )
-        {
-        return;
-        }											   
-
-#endif // PREPROCESS_BITMAPS
-    
-    if ( iModel->ShowTopScrollIndicator() )
-        {
-        iTopScrollVisual->iOpacity.Set(KOpacityFull, NAP2Cfg::K3dScrollIndicatorFadeTime);
-        }
-    else
-        {
-        iTopScrollVisual->iOpacity.Set(KOpacityNone, NAP2Cfg::K3dScrollIndicatorFadeTime);
-        }
-    
-    
-    TInt numItemsOnScreen = iModel->CountItemsOnScreen();
-
-    numItemsOnScreen++;
-
-    TPoint scrollOffset = CurrentScrollOffset();
-    
-    TInt i;
-    for ( i = 0; i < numItemsOnScreen; i++ )
-        {
-		CActivePalette2Item* item = iModel->ItemFromScreenPos(i);
-		
-		if ( item )
-		    {
-            iItemLayout[i]->SetPos(THuiRealPoint(ItemPosition(i) + scrollOffset));
-            
-#ifdef PREPROCESS_BITMAPS
-            tempGc->BitBlt(TPoint(0,0), &(item->Icon()));
-            tempMaskGc->BitBlt(TPoint(0,0), item->Mask());
-            TRAP_IGNORE(iItemTexture[i]->UploadL(*tempBitmap, tempMaskBitmap));
-#else
-            TRAP_IGNORE(iItemTexture[i]->UploadL(item->Icon(), item->Mask()));
-#endif 
-            iItemVisual[i]->iOpacity.Set(KOpacityFull);
-            }
-        }
-
-    if ( iModel->ItemScrollOffset() == 0 )
-        {
-        iItemVisual[numItemsOnScreen-1]->iOpacity.Set(KOpacityNone);
-        }
-    else
-        {
-        ItemsScrolledSetItemOpacities();
-        }
-
-
-    for ( i = numItemsOnScreen; i < iItemVisual.Count(); i++ )
-        {
-        iItemVisual[i]->iOpacity.Set(KOpacityNone);
-        }
-
-    if ( iModel->ShowBottomScrollIndicator() )
-        {
-        iBottomScrollLayout->SetPos(THuiRealPoint(BottomScrollPanePosition() + ActivePalette2Utils::APDimensionPoint(E3dScrollIconOffset)));
-        iBottomScrollVisual->iOpacity.Set(KOpacityFull, NAP2Cfg::K3dScrollIndicatorFadeTime);
-        }
-    else
-        {
-        iBottomScrollVisual->iOpacity.Set(KOpacityNone, NAP2Cfg::K3dScrollIndicatorFadeTime);
-        }
-    
-    UpdateFocus();
-    
-#ifdef PREPROCESS_BITMAPS
-	ActivePalette2Utils::DeleteDrawingObjects(&tempMaskBitmap,
-											  &tempMaskDevice,
-											  &tempMaskGc);
-	ActivePalette2Utils::DeleteDrawingObjects(&tempBitmap,
-											  &tempDevice,
-											  &tempGc);
-#endif											  
-    }
-
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::OfferEventL()
-// -----------------------------------------------------------------------------
-//
-TBool CActivePalette2HUI::OfferEventL(const THuiEvent& aEvent) 
-    {
-    TBool res = EFalse;
-    
-    if(aEvent.IsKeyEvent() && aEvent.iCode == EEventKey)
-        {
-        if (aEvent.iKeyEvent.iScanCode == iNavigationKeys.iNaviPrev)
-	    	{ 
-	    	// go to previous
-            res = iModel->ProcessInputEvent(EAP2InputUp);
-		    }
-		else if (aEvent.iKeyEvent.iScanCode == iNavigationKeys.iNaviNext)
-		    { 
-		    // go to next
-            res = iModel->ProcessInputEvent(EAP2InputDown);
-		    }
-    	else if (aEvent.iKeyEvent.iScanCode == iNavigationKeys.iNaviSelect)
-		    { 
-		    // select item
-            res = iModel->ProcessInputEvent(EAP2InputSelect);
-		    }
-		else
-		    {
-		    // lint
-		    }
-        }
-
-    return res;
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::PalettePosition()
-// -----------------------------------------------------------------------------
-//
-TPoint CActivePalette2HUI::PalettePosition() const
-    {
-    TInt totalFrames = Max(1, iModel->PaletteAppearingTotalFrames());
-    TInt xOffset = ((KPaletteHiddenXPos - iTopLeftCorner.iX) * (totalFrames - iModel->PaletteAppearingCurrentFrame())) / totalFrames;
-    return TPoint(iTopLeftCorner.iX + xOffset, iTopLeftCorner.iY);
-    }
-
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::ItemsScrolledSetItemOpacities()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::ItemsScrolledSetItemOpacities()
-    {
-    TInt currentOffset = iModel->ItemScrollOffset();
-    TInt totalFrames = Max(1, iModel->ItemScrollTotalFrames());
-    
-    iItemVisual[0]->iOpacity.Set(TReal(totalFrames - currentOffset) / totalFrames);
-    iItemVisual[iModel->CountItemsOnScreen()]->iOpacity.Set(TReal(currentOffset) / totalFrames);
-    }
-    
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::AnimateFocus()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::AnimateFocus(TInt aCurrentPos, TInt aTargetPos, TInt aTimeInMilliseconds)
-    {
-    if ( iModel->PaletteActive()
-         && iModel->CountItemsOnScreen() > 0 )
-        {
-        iFocusRingLayout->SetPos(THuiRealPoint(ItemPosition(aCurrentPos) + TPoint(ActivePalette2Utils::APDimension(EFocusRingXOffset), ActivePalette2Utils::APDimension(EFocusRingYOffset))));
-        
-        iFocusRingLayout->SetPos(THuiRealPoint(ItemPosition(aTargetPos) + TPoint(ActivePalette2Utils::APDimension(EFocusRingXOffset), ActivePalette2Utils::APDimension(EFocusRingYOffset))), aTimeInMilliseconds);
-
-        iFocusRingVisual->iOpacity.Set(KOpacityFull);
-        
-        iGeneralTimer->Cancel();
-    	iGeneralTimer->Start(
-    		aTimeInMilliseconds * KMicrosecondsPerMillisecond,
-    		aTimeInMilliseconds * KMicrosecondsPerMillisecond,
-    		TCallBack(&CActivePalette2HUI::AnimateFocusTimerCallback,(TAny *)this));
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::AnimateFocusTimerCallback()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::AnimateFocusTimerCallback(TAny* aPtr)
-    {
-	CActivePalette2HUI* self = (CActivePalette2HUI*) aPtr;
-	
-	if ( self )
-	    {
-    	return self->AnimateFocusTimerComplete();
-    	}
-    else
-        {
-        return KCallbackFinished;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::AnimateFocusTimerComplete()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::AnimateFocusTimerComplete()
-    {
-    iGeneralTimer->Cancel();
-    iModel->AnimateFocusRendererComplete();
-    return KCallbackFinished;
-    }
-    
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::ItemPosition()
-// -----------------------------------------------------------------------------
-//
-TPoint CActivePalette2HUI::ItemPosition(TInt aScreenPos) const
-    {
-    return TPoint(ActivePalette2Utils::APDimension(EItemXOffset), ActivePalette2Utils::APDimension(ETopSectionHeight) + aScreenPos * (ActivePalette2Utils::APDimension(EItemHeight) + ActivePalette2Utils::APDimension(EGapBetweenItems)));
-    }
-    
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::TopScrollPanePosition()
-// -----------------------------------------------------------------------------
-//
-TPoint CActivePalette2HUI::TopScrollPanePosition() const
-    {
-    return TPoint(0, 0);
-    }
-    
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::BottomScrollPanePosition()
-// -----------------------------------------------------------------------------
-//
-TPoint CActivePalette2HUI::BottomScrollPanePosition() const
-    {
-    TInt gaps = Max(0, iModel->CountItemsOnScreen() - 1);
-    return TPoint(0, ActivePalette2Utils::APDimension(ETopSectionHeight) + iModel->CountItemsOnScreen() * ActivePalette2Utils::APDimension(EItemHeight) + gaps * ActivePalette2Utils::APDimension(EGapBetweenItems));
-    }
-    
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::PaletteSize()
-// -----------------------------------------------------------------------------
-//
-TSize CActivePalette2HUI::PaletteSize() const
-    {
-    return TSize(ActivePalette2Utils::APDimension(EPaletteWidth), BottomScrollPanePosition().iY + ActivePalette2Utils::APDimension(EBottomSectionHeight));
-    }
-    
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::CurrentScrollOffset()
-// -----------------------------------------------------------------------------
-//
-TPoint CActivePalette2HUI::CurrentScrollOffset() const
-    {
-    return TPoint(0, -((ActivePalette2Utils::APDimension(EItemHeight) + ActivePalette2Utils::APDimension(EGapBetweenItems)) * iModel->ItemScrollOffset())/Max(1, iModel->ItemScrollTotalFrames()));
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2BasicUI::AnimateAppearance()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::AnimateAppearance(TBool aVisible, TInt aTimeInMilliseconds)
-    {
-    if ( aVisible )
-        {
-        iPaletteLayout->SetPos(THuiRealPoint(TPoint(iTopLeftCorner.iX, iTopLeftCorner.iY)), aTimeInMilliseconds);
-        }
-    else
-        {
-        iPaletteLayout->SetPos(THuiRealPoint(TPoint(KPaletteHiddenXPos, iTopLeftCorner.iY)), aTimeInMilliseconds);
-        }
-        
-    iGeneralTimer->Cancel();
-	iGeneralTimer->Start(
-		aTimeInMilliseconds * KMicrosecondsPerMillisecond,
-		aTimeInMilliseconds * KMicrosecondsPerMillisecond,
-		TCallBack(&CActivePalette2HUI::AnimateAppearanceTimerCallback,(TAny *)this));
-    }
-    
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::AnimateFocusTimerCallback()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::AnimateAppearanceTimerCallback(TAny* aPtr)
-    {
-	CActivePalette2HUI* self = (CActivePalette2HUI*) aPtr;
-	
-	if ( self )
-	    {
-    	return self->AnimateAppearanceTimerComplete();
-    	}
-    else
-        {
-        return KCallbackFinished;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::AnimateFocusTimerComplete()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::AnimateAppearanceTimerComplete()
-    {
-    iGeneralTimer->Cancel();
-    iModel->AnimateAppearanceRendererComplete();
-    return KCallbackFinished;
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::GuessCurrentAppearanceFrame()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::GuessCurrentAppearanceFrame()
-    {
-    if ( KPaletteHiddenXPos - iTopLeftCorner.iX == 0 )
-        {
-        return 0;
-        }
-    else
-        {
-        TInt currentPos = iPaletteLayout->Pos().Now().iX;
-        return ((KPaletteHiddenXPos - currentPos) * iModel->PaletteAppearingTotalFrames()) / (KPaletteHiddenXPos - iTopLeftCorner.iX);
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::AnimateItemScroll()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::AnimateItemScroll(TInt aDirection, TInt aTimeInMilliseconds)
-    {
-
-    TInt numItems = iModel->CountItemsOnScreen();
-        
-    TInt itemOffset = 0;
-    if ( aDirection == 1 )
-        {
-        itemOffset = -1;
-        }
-                
-    for( TInt i = 0; i <= numItems; i++)
-        {
-        iItemLayout[i]->SetPos(THuiRealPoint(ItemPosition(i + itemOffset)), aTimeInMilliseconds);
-        }
-        
-    if ( aDirection > 0 )
-        {
-        iItemVisual[0]->iOpacity.Set(KOpacityNone, aTimeInMilliseconds);
-        iItemVisual[numItems]->iOpacity.Set(KOpacityFull, aTimeInMilliseconds);
-        }
-    else
-        {
-        iItemVisual[0]->iOpacity.Set(KOpacityFull, aTimeInMilliseconds);
-        iItemVisual[numItems]->iOpacity.Set(KOpacityNone, aTimeInMilliseconds);
-        }   
-    
-    iGeneralTimer->Cancel();
-	iGeneralTimer->Start(
-		aTimeInMilliseconds * KMicrosecondsPerMillisecond,
-		aTimeInMilliseconds * KMicrosecondsPerMillisecond,
-		TCallBack(&CActivePalette2HUI::AnimateItemScrollTimerCallback,(TAny *)this));
-    }
-    
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::AnimateFocusTimerCallback()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::AnimateItemScrollTimerCallback(TAny* aPtr)
-    {
-	CActivePalette2HUI* self = (CActivePalette2HUI*) aPtr;
-	
-	if ( self )
-	    {
-    	return self->AnimateItemScrollTimerComplete();
-    	}
-    else
-        {
-        return KCallbackFinished;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::AnimateFocusTimerComplete()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::AnimateItemScrollTimerComplete()
-    {
-    iGeneralTimer->Cancel();
-    iModel->AnimateItemScrollRendererComplete();
-    return KCallbackFinished;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::TooltipUpdated()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::TooltipUpdated()
-    {
-    TRAP_IGNORE(iTooltipTextVisual->SetTextL(*(iModel->TooltipText())));
-    TSize textSize = iTooltipTextVisual->TextExtents();
-    return textSize.iWidth + ActivePalette2Utils::APDimension(ETooltipTail) + ActivePalette2Utils::APDimension(ETooltipNose); 
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::AnimateTooltip()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::AnimateTooltip(TBool aToShow, TInt aTimeInMilliseconds)
-    {
-    TInt startMultiplier = aToShow ? 0 : 1;
-    TInt endMultiplier = aToShow ? 1 : 0;
-    
-    TPoint startPos(iTopLeftCorner + ItemPosition(iModel->TooltipScreenPosition()) + ActivePalette2Utils::APDimensionPoint(E3dTooltipOffset));
-    TSize startSize(((iTooltipTextVisual->TextExtents().iWidth + ActivePalette2Utils::APDimension(ETooltipNose) + ActivePalette2Utils::APDimension(ETooltipTail)) * startMultiplier), ActivePalette2Utils::APDimension(ETooltipHeight));
-    startPos.iX -= startSize.iWidth;
-    
-    iTooltipLayout->SetSize(THuiRealSize(startSize));
-    iTooltipLayout->SetPos(THuiRealPoint(startPos));
-    
-    TPoint endPos(iTopLeftCorner + ItemPosition(iModel->TooltipScreenPosition()) + ActivePalette2Utils::APDimensionPoint(E3dTooltipOffset));
-    TSize endSize(((iTooltipTextVisual->TextExtents().iWidth + ActivePalette2Utils::APDimension(ETooltipNose) + ActivePalette2Utils::APDimension(ETooltipTail)) * endMultiplier), ActivePalette2Utils::APDimension(ETooltipHeight));
-    endPos.iX -= endSize.iWidth;
-
-    iTooltipLayout->SetSize(THuiRealSize(endSize), aTimeInMilliseconds);
-    iTooltipLayout->SetPos(THuiRealPoint(endPos), aTimeInMilliseconds);
-    
-    ShowTooltipUpdated();
-    
-    iGeneralTimer->Cancel();
-	iGeneralTimer->Start(
-		aTimeInMilliseconds * KMicrosecondsPerMillisecond,
-		aTimeInMilliseconds * KMicrosecondsPerMillisecond,
-		TCallBack(&CActivePalette2HUI::AnimateTooltipTimerCallback,(TAny *)this));
-   }
-    
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::AnimateTooltipTimerCallback()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::AnimateTooltipTimerCallback(TAny* aPtr)
-    {
-	CActivePalette2HUI* self = (CActivePalette2HUI*) aPtr;
-	
-	if ( self )
-	    {
-    	return self->AnimateTooltipTimerComplete();
-    	}
-    else
-        {
-        return KCallbackFinished;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::AnimateTooltipTimerComplete()
-// -----------------------------------------------------------------------------
-//
-TInt CActivePalette2HUI::AnimateTooltipTimerComplete()
-    {
-    iGeneralTimer->Cancel();
-    iModel->AnimateTooltipRendererComplete();
-    return KCallbackFinished;
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::VisualLayoutUpdated()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::VisualLayoutUpdated(CHuiVisual& /*aVisual*/)
-    {
-    UpdateTopLeftCornerWithScreenSize();
-    iPaletteLayout->SetPos(THuiRealPoint(PalettePosition()));
-    }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2HUI::UpdateTopLeftCornerWithScreenSize()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2HUI::UpdateTopLeftCornerWithScreenSize()
-    {
-	AknLayoutUtils::LayoutMetricsSize( AknLayoutUtils::EScreen, iScreenSize );
-	                        
-    // This uses the same logic that MC Photos used. If in landscape mode or no
-    // location specified in portrait mode then position the palette relative to
-    // the top RH corner of the screen using the default settings
-	if ( ( iScreenSize.iWidth > iScreenSize.iHeight ) ||
-	     ( ! iLocated ) )
-	  {	                        
-	  iTopLeftCorner.iX = iScreenSize.iWidth + ActivePalette2Utils::APDimensionPoint(EDefault3dPaletteOffset).iX;
-	  iTopLeftCorner.iY = ActivePalette2Utils::APDimensionPoint(EDefault3dPaletteOffset).iY;
-      }
-	}