internetradio2.0/uisrc/irradioidle.cpp
changeset 3 ee64f059b8e1
parent 2 2e1adbfc62af
child 4 3f2d53f144fe
child 5 0930554dc389
--- a/internetradio2.0/uisrc/irradioidle.cpp	Mon May 03 12:25:23 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1302 +0,0 @@
-/*
-* Copyright (c) 2009 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: 
-*
-*/
-/*
-* ============================================================================
-*  Name        : radioidle.cpp
-*  Part of     :
-*  Description :
-*  Version     :
-*
-* ==============================================================================
-*/
-
-// INCLUDE FILES
-
-#include <eikenv.h>
-#include <stringloader.h>
-
-#include <alf/alfcontrolgroup.h>
-#include <alf/alfenv.h>
-#include <alf/alftextvisual.h>
-#include <alf/alfevent.h>
-#include <alf/alftransformation.h>
-#include <alf/alfgradientbrush.h>
-#include <alf/alfbrusharray.h>
-#include <alf/alfborderbrush.h>
-#include <alf/alfimagevisual.h>
-#include <alf/alfimagebrush.h>
-#include <alf/alftexturemanager.h>
-#include <alf/alfdisplay.h>
-#include <alf/alfviewportlayout.h>
-#include <alf/alfdecklayout.h>
-#include <alf/alfflowlayout.h>
-#include <alf/alfutil.h>
-#include <alf/alfTextStyle.h>
-#include <aknsitemid.h>
-
-#include <e32math.h>
-#include <data_caging_path_literals.hrh>
-#include "irradioidle.h"
-#include "irdebug.h"
-// CONSTANTS
-
-// bitmap file for the background of the display
-_LIT8( KRadioIdleAnchorTag, "radioIdleAnchor" );
-_LIT8( KRadioIdleFlowLayoutTag, "radioIdleFlowLayout" );
-_LIT8( KRadioIdleBackgroundTextTag, "radioIdleBackgroundText" );
-_LIT8( KRadioIdleItemTag, "radioIdleItem" );
-
-const TInt KSizeOfRadioIdleItemBigFont = 400; // background text
-const TInt KSizeOfRadioIdleItemMediumFont = 60;
-const TInt KSizeOfRadioIdleItemSmallFont = 30;
-
-const TInt KRadioIdleFadeOutDurationTime = 400;
-const TInt KRadioIdleFadeInDurationTime = 0; 
-
-const TInt  KRadioIdleBackgroundTextScrollInterval = 12000;
-const TReal32 KRadioIdleBackgroundTextOpacity = 0.2f;
-const TInt  KRadioIdleBackgroundTextSideToSideTransitionDurationTime = 25000;
-
-const TInt KMaxNumberOfRadioIdleItems = 5;
-
-const TReal32 KMaxRadioIdleItemsOverlap = 0.2f;
-const TInt KMaxRadioIdleItemScrollDurationTime = 35000;
-const TInt KMinRadioIdleItemScrollDurationTime = 25000;
-
-const TInt KModeChangingFactor = 3;
-
-const TReal32 KMaxOpacity = 0.7f;
-const TReal32 KMinOpacity = 0.3f;
-
-const TInt KMaxRadioIdleItemColorDeviation = 30; // must be <= 255
-const TRgb KRadioIdleItemDefaultColor(128,128,128);
-const TRgb KRadioIdleItemBackgroundColor(255, 255, 255);
-const TReal32 KRadioIdleItemBackgroundOpacity = 0.5f;
-const TReal32 KRadioIdleBackgroundOpacity = 0.4f;
-
-const TInt KRadioIdleItemArrayGranularity = 4;
-const TInt Kone=1;
-const TInt KTwoFiftyFive=255;
-const TInt KZero=0;
-const TInt KTen=10;
-const TInt KThousand=1000;
-//const TInt KThree=3
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// CIRRadioIdle::NewL
-// Two-phase constructor of CIRRadioIdle
-// ---------------------------------------------------------------------------
-//
-CIRRadioIdle* CIRRadioIdle::NewL( CAlfEnv& aEnv, TInt aControlGroupId, CAlfLayout* aParentLayout )
-	{
-	CIRRadioIdle* self = new (ELeave) CIRRadioIdle();
-	CleanupStack::PushL(self);
-	self->ConstructL( aEnv, aControlGroupId, aParentLayout );
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::CIRRadioIdle
-// Default constructor
-// ----------------------------------------------------------------------------
-//
-CIRRadioIdle::CIRRadioIdle()
-:   iOrientation ( EOrientationNone ),
-	iFadeStyle( EFadeStyleNone ),
-	iRadioIdleState( EStopped ),
-	iRadioIdleMode( EBackgroundTextAndRadioIdleItems ),
-	iRadioIdleRequestedMode( EBackgroundTextAndRadioIdleItems ),
-    iRadioIdlePrimaryColor(KRadioIdleItemDefaultColor),
-    iRadioIdleSecondaryColor( KRadioIdleItemDefaultColor )
-	{
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::ConstructL( CAlfEnv& aEnv, TInt aControlGroupId, CAlfLayout* aParentLayout )
-	{
-	CAlfControl::ConstructL( aEnv );
-
-	iParentLayout = aParentLayout;
-
-    // Create largest font for the background text of radio idle
-   	CAlfTextStyleManager& manager = Env().TextStyleManager();
-	iRadioIdleItemBackgroundTextStyleId = manager.CreatePlatformTextStyleL();
-	CAlfTextStyle* radioIdleItemStyle = manager.TextStyle( iRadioIdleItemBackgroundTextStyleId );
-	radioIdleItemStyle->SetTextSizeInPixels( KSizeOfRadioIdleItemBigFont, ETrue );
-
-	 // Create text styles for other radio idle items
-    RArray<TInt> fontSizeArray;
-    CleanupClosePushL( fontSizeArray );
-    User::LeaveIfError( fontSizeArray.Append( KSizeOfRadioIdleItemMediumFont ) );
-    User::LeaveIfError( fontSizeArray.Append( KSizeOfRadioIdleItemSmallFont ) );
-    fontSizeArray.Sort();
-
-	TInt numberOfTextStyles = fontSizeArray.Count();
-	for( TInt i = 0; i < numberOfTextStyles; i++ )
-		{
-		TInt radioIdleItemTextStyleId = manager.CreatePlatformTextStyleL();
-		radioIdleItemStyle = manager.TextStyle( radioIdleItemTextStyleId );
-		radioIdleItemStyle->SetTextSizeInPixels( fontSizeArray[i], ETrue );
-		iTextStyleIdArray.Append( radioIdleItemTextStyleId );
-		}
-	CleanupStack::PopAndDestroy( &fontSizeArray );
-
-	aEnv.ControlGroup( aControlGroupId ).AppendL( this ); // Takes ownership.
-			// No leaving code allowed after this call.
-  	}
-
-// ---------------------------------------------------------------------------
-// ~CIRRadioIdle::~CIRRadioIdle
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CIRRadioIdle::~CIRRadioIdle()
-	{
-	Env().CancelCustomCommands( this );
-	if( iRadioIdleItemArray )
-		{
-		if( iRadioIdleItemArray->Count() > KZero )
-			{
-			iRadioIdleItemArray->Reset();
-			}
-		delete iRadioIdleItemArray;
-		}
-	CAlfTextStyleManager& manager = Env().TextStyleManager();
-	for( TInt i=0; i < iTextStyleIdArray.Count(); i++ )
-		{
-		manager.DeleteTextStyle( iTextStyleIdArray[i] );
-		}
-	iTextStyleIdArray.Close();
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::AddRadioIdleL
-// Creates the radio idle with passed number of radio idle items
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::AddRadioIdleL( const TInt aNumberOfRadioIdleItems )
-	{
-
-	CAlfAnchorLayout* radioIdleAnchor = static_cast<CAlfAnchorLayout*>
-								 ( FindTag( KRadioIdleAnchorTag ) );
-	if ( !radioIdleAnchor )
-		{
-		radioIdleAnchor = CAlfAnchorLayout::AddNewL( *this, iParentLayout );
-		radioIdleAnchor->SetTagL( KRadioIdleAnchorTag );
-		}
-
-	if( !iViewport )
-		{
-		iViewport = CAlfViewportLayout::AddNewL( *this, radioIdleAnchor );
-		iViewport->SetViewportPos( TAlfRealPoint( .0f, .0f ), KZero );
-		iViewport->SetViewportSize( TAlfRealSize( 1.0f, 1.0f ), KZero );
-		}
-
-	CreateBacgroundTextVisualL();
-	// Create the flow layout for the other radio idle items
-	CAlfFlowLayout* radioIdleFlowLayout = static_cast<CAlfFlowLayout*> 
-		( iViewport->FindTag( KRadioIdleFlowLayoutTag ) );
-	if( !radioIdleFlowLayout )
-		{
-		radioIdleFlowLayout = CAlfFlowLayout::AddNewL( *this, iViewport );
-		radioIdleFlowLayout->SetTagL( KRadioIdleFlowLayoutTag );
-		radioIdleFlowLayout->SetFlowDirection( CAlfFlowLayout::EFlowVertical );
-		radioIdleFlowLayout->SetMode( CAlfFlowLayout::EModeCenterPerpendicular );
-		}
-
-	InitializeRadioIdleItemsL( aNumberOfRadioIdleItems );
-	AnimateRadioIdleItems();
-	UpdateLayout();
-	RadioIdleFadeIn();
-	}
-
-// ----------------------------------------------------------------------------
-// CRadioIdle::CreateBacgroundTextVisualL
-// Creates, initializes and animates the radio idle background text visual
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::CreateBacgroundTextVisualL()
-	{
-	HBufC* itemText = GetRandomRadioIdleContentL();
-	CleanupStack::PushL( itemText );
-    CAlfTextVisual* backgroundText = static_cast<CAlfTextVisual*> 
-    	( iViewport->FindTag( KRadioIdleBackgroundTextTag ) );
-	if( !backgroundText && itemText )
-		{
-		backgroundText = AddRadioIdleItemL(iViewport, *itemText,KRadioIdleBackgroundTextTag, EFalse,
-                            KRadioIdleItemBackgroundColor,
-                            KRadioIdleItemBackgroundOpacity );
-
-		SetRadioIdleItemSettingsL( backgroundText, *itemText, iRadioIdleItemBackgroundTextStyleId );
-        backgroundText->EnableBrushesL();
-	    backgroundText->EnableShadow( EFalse );
-	    backgroundText->SetFlag(  EAlfVisualFlagManualLayout  );
-		SetScrollingToBackgroundText( backgroundText,
-                           KRadioIdleBackgroundTextSideToSideTransitionDurationTime,
-                           ERadioIdleBackgroundTextScrollEnd );
-		backgroundText->SetOpacity( TAlfTimedValue( KRadioIdleBackgroundTextOpacity ) );
-		}
-	else if( itemText )
-		{
-		SetRadioIdleItemSettingsL( backgroundText, *itemText,
-			 iRadioIdleItemBackgroundTextStyleId );
-        SetScrollingToBackgroundText( backgroundText, 
-        	KRadioIdleBackgroundTextSideToSideTransitionDurationTime, 
-        	ERadioIdleBackgroundTextScrollEnd );
-        backgroundText->SetOpacity( TAlfTimedValue( KRadioIdleBackgroundTextOpacity ) );
-        }
-	else
-		{
-		}	
-	CleanupStack::PopAndDestroy( itemText );
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::InitializeRadioIdleItemsL
-// Initializes the radio idle items
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::InitializeRadioIdleItemsL( const TInt aNumberOfRadioIdleItems )
-	{
-
-	CAlfFlowLayout* radioIdleFlowLayout = static_cast<CAlfFlowLayout*> 
-						( iViewport->FindTag( KRadioIdleFlowLayoutTag ) );
-	if( radioIdleFlowLayout )
-		{
-		// Create the radio idle items
-		for( TInt i = 0; i < aNumberOfRadioIdleItems; i++ )
-			{
-			HBufC* itemText = GetRandomRadioIdleContentL();
-			if( itemText )
-				{
-				CleanupStack::PushL( itemText );
-				TInt randFontStyleIx = AlfUtil::RandomInt( KZero,
-				  iTextStyleIdArray.Count() - Kone );
-			    CAlfTextVisual* radioIdleItem = NULL;
-			    if( radioIdleFlowLayout->Count() < aNumberOfRadioIdleItems )
-					{
-                    radioIdleItem  = AddRadioIdleItemL( radioIdleFlowLayout,
-                    	 *itemText, KRadioIdleItemTag,EFalse, 
-                    	 KRadioIdleItemBackgroundColor, KRadioIdleItemBackgroundOpacity );
-					}
-			    else
-			    	{
-			    	/*lint -save -e826 (Info -- Suspicious pointer-to-pointer conversion (area too small)*/
-			    	radioIdleItem = static_cast<CAlfTextVisual*> 
-			    			( GetPointer( radioIdleFlowLayout->Visual( i ) ) );
-			    	/*lint -restore*/
-			    	radioIdleItem->SetOpacity( TAlfTimedValue( .0f ) );
-					radioIdleItem->EnableTransformationL( ETrue );
-					CAlfTransformation* radioIdleItemTransformation =
-									 &( radioIdleItem->Transformation() );
-					radioIdleItemTransformation->LoadIdentity();
-			    	}
-			    SetRadioIdleItemSettingsL( radioIdleItem, *itemText, 
-			    		iTextStyleIdArray[ randFontStyleIx ] );
-			 	CleanupStack::PopAndDestroy( itemText );
-				}
-			}
-		}
-
-
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::AnimateRadioIdleItems
-// Sets defined animation to the created radio idle items
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::AnimateRadioIdleItems()
-	{
-
-	CAlfFlowLayout* radioIdleFlowLayout = static_cast<CAlfFlowLayout*> 
-				( iViewport->FindTag( KRadioIdleFlowLayoutTag ) );
-	if( radioIdleFlowLayout )
-		{
-		for( TInt i = 0; i < radioIdleFlowLayout->Count(); i++ )
-			{
-	    	/*lint -save -e826 (Info -- Suspicious pointer-to-pointer conversion (area too small)*/
-		    CAlfTextVisual* radioIdleItem = static_cast<CAlfTextVisual*> 
-		    	( GetPointer( radioIdleFlowLayout->Visual( i ) ) );
-		    /*lint -restore*/
-			 SetRadioIdleItemAnimation( radioIdleItem );
-			}
-		}
-
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::AddRadioIdleItemL
-// Creates the radio idle item to the passed radio idle view port.
-// ----------------------------------------------------------------------------
-//
-CAlfTextVisual* CIRRadioIdle::AddRadioIdleItemL( CAlfLayout* aRadioIdle, 
-					const TDesC& aRadioIdleItemText, 
-					const TDesC8& aTag, TBool aRadioIdleItemHasBackground,
-					const TRgb& aBackgroundColor,
-					const TReal32 aBackgroundOpacity )
-	{
-
-	CAlfTextVisual* radioIdleItem = CAlfTextVisual::AddNewL( *this, aRadioIdle );
-	// Set text to transparent during initialization
-	radioIdleItem->SetOpacity( TAlfTimedValue( .0f ) );
-    radioIdleItem->EnableBrushesL();
-    radioIdleItem->SetTextL( aRadioIdleItemText );
-    radioIdleItem->SetTagL( aTag );
-    radioIdleItem->EnableShadow( EFalse );
-    radioIdleItem->SetAlign( EAlfAlignHCenter, EAlfAlignVCenter );
-    radioIdleItem->SetSize( radioIdleItem->TextExtents() );
-
-    if ( aRadioIdleItemHasBackground )
-	    {
-		CAlfGradientBrush* gradientBrush = CAlfGradientBrush::NewLC( Env() );
-		gradientBrush->SetColor( aBackgroundColor, aBackgroundOpacity );
-		radioIdleItem->Brushes()->AppendL( gradientBrush, EAlfHasOwnership );
-		CleanupStack::Pop( gradientBrush );
-	    }
-	return radioIdleItem;
-
-	}
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::DeviateColorComponent
-// Randomly modifies the value of a color component.
-// ----------------------------------------------------------------------------
-//
-TInt CIRRadioIdle::DeviateColorComponent( TInt aBaseValue )
-    {
-    TInt deviatedValue = aBaseValue
-                       + AlfUtil::RandomInt( 0, KMaxRadioIdleItemColorDeviation )
-                       - AlfUtil::RandomInt( 0, KMaxRadioIdleItemColorDeviation );
-
-    if( deviatedValue < 0)
-        {
-        deviatedValue = 0;
-        }
-    else if( deviatedValue > KTwoFiftyFive )
-        {
-        deviatedValue = KTwoFiftyFive;
-        }
-    
-    return deviatedValue;
-    }
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::SetRadioIdleItemSettings
-// Sets color, opacity and scaling settings to the radio idle item
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::SetRadioIdleItemSettingsL( CAlfTextVisual* aRadioIdleItem, 
-											const TDesC& aRadioIdleItemText,
-											  const TInt aTextStyleId )
-	{
-	// Set text of the radio idle item
-	aRadioIdleItem->SetTextL( aRadioIdleItemText );
-	// Set text to transparent during initialization
-	aRadioIdleItem->SetOpacity( TAlfTimedValue( .0f ) );
-	aRadioIdleItem->EnableTransformationL( ETrue );
-	CAlfTransformation* radioIdleItemTransformation = &( aRadioIdleItem->Transformation() );
-	radioIdleItemTransformation->LoadIdentity();
-    
-    // Select base color for text
-
-    TRgb radioIdleItemColor( iRadioIdlePrimaryColor );
-    if( AlfUtil::RandomInt(0, 1) == 0 )
-        {
-        radioIdleItemColor = iRadioIdleSecondaryColor;
-        }
-    
-    // Modify the color
-    radioIdleItemColor.SetRed( DeviateColorComponent( radioIdleItemColor.Red() ) );
-    radioIdleItemColor.SetGreen( DeviateColorComponent( radioIdleItemColor.Green() ) );
-    radioIdleItemColor.SetBlue( DeviateColorComponent( radioIdleItemColor.Blue() ) );
-
-	// Set text color of the radio idle item
-	aRadioIdleItem->SetColor( radioIdleItemColor );
-	// Set text style of the radio idle	item
-	aRadioIdleItem->SetTextStyle( aTextStyleId );
-
-	TSize itemSize( 0, 0 );
-	if ( aRadioIdleItem->TextExtents() != itemSize )
-		{
-		aRadioIdleItem->SetSize( aRadioIdleItem->TextExtents() );
-		}
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::SetRadioIdleItemAnimation
-// Sets translating animations to the radio idle item
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::SetRadioIdleItemAnimation( CAlfTextVisual* aRadioIdleItem )
-	{
-
-	CAlfFlowLayout* radioIdleFlowLayout = static_cast<CAlfFlowLayout*> 
-										( aRadioIdleItem->Layout() );
-	TInt radioIdleItemCount = radioIdleFlowLayout->Count();
-	TInt radioIdleItemIndex = radioIdleFlowLayout->FindVisual( aRadioIdleItem );
-
-	TReal32 radioIdleItemWidth = aRadioIdleItem->DisplayRect().Width();
-	TReal32 radioIdleItemHeight = aRadioIdleItem->DisplayRect().Height();
-	TReal32 radioIdleWidth = radioIdleFlowLayout->Size().Target().iX;
-
-	TInt randomTranslateDuration = AlfUtil::RandomInt( KMinRadioIdleItemScrollDurationTime,
-									 KMaxRadioIdleItemScrollDurationTime );
-
-	// Calculate y position of the radio idle item
-	TReal32 randomMeanDeviationY = 0;
-	if(radioIdleItemIndex != 0 && radioIdleItemIndex != radioIdleItemCount - Kone )
-		{
-		randomMeanDeviationY = AlfUtil::RandomReal( 0.0f,  radioIdleItemHeight * 
-															KMaxRadioIdleItemsOverlap );
-		TInt deviationDirection = AlfUtil::RandomInt( KZero,  Kone );
-		if( deviationDirection )
-		 	{
-		 	randomMeanDeviationY = -randomMeanDeviationY;
-		 	}
-		}
-
-	TInt scrollDirection = AlfUtil::RandomInt( KZero,  Kone );
-	TAlfTimedValue targetPositionX;
-	if( scrollDirection )
-		{
-		targetPositionX.SetValueNow( -radioIdleWidth/2 - radioIdleItemWidth/2 );
-		targetPositionX.SetTarget( radioIdleWidth/2 + radioIdleItemWidth/2,
-								 randomTranslateDuration );
-		}
-	else
-		{
-		targetPositionX.SetValueNow( radioIdleWidth/2 + radioIdleItemWidth/2  );
-		targetPositionX.SetTarget( -radioIdleWidth/2 - radioIdleItemWidth/2,
-													 randomTranslateDuration );
-		}
-	Translate( aRadioIdleItem, targetPositionX, TAlfTimedValue( randomMeanDeviationY ) );
-	if( radioIdleItemIndex >= KZero )
-		{
-		Env().Send( TAlfCustomEventCommand( ERadioIdleItemTransformationEnd,
-											this,
-											radioIdleItemIndex ),
-											randomTranslateDuration );
-		}
-	// Set text opacity of the radio idle item
-	TReal32 randomOpacity = AlfUtil::RandomReal( KMinOpacity, KMaxOpacity );
-	aRadioIdleItem->SetOpacity( TAlfTimedValue( randomOpacity ) );
-	radioIdleFlowLayout->UpdateChildrenLayout( KMinRadioIdleItemScrollDurationTime );
-
-
-	}
-
-// ---------------------------------------------------------------------------
-// CIRRadioIdle::RadioIdleFadeIn
-// Fades in radio idle
-// ---------------------------------------------------------------------------
-//
-void CIRRadioIdle::RadioIdleFadeIn( TBool aNow )
-	{
-
-	if ( iViewport )
-		{
-		if( aNow )
-			{
-			FadeIn( iViewport, KZero );
-			}
-		else
-			{
-			FadeIn( iViewport, KRadioIdleFadeInDurationTime );
-			}
-		}
-
-	}
-
-// ---------------------------------------------------------------------------
-// CIRRadioIdle::RadioIdleFadeOut
-// Fades out radio idle
-// ---------------------------------------------------------------------------
-//
-void CIRRadioIdle::RadioIdleFadeOut( TBool aNow )
-	{
-	
-
-	if ( iViewport )
-		{
-		iFading = ETrue;
-		if( aNow )
-			{
-			FadeOut( iViewport, KZero );
-			iFading = EFalse;
-			}
-		else if ( iFadeStyle == EFadeStyleNone )
-			{
-			FadeOut( iViewport, KRadioIdleFadeOutDurationTime );
-	        Env().Send( TAlfCustomEventCommand( ERadioIdleFadeOutCompleted, this,
-												reinterpret_cast<TInt>( iViewport ) ),
-												KRadioIdleFadeOutDurationTime );
-	        iViewport = NULL;
-			}
-		else
-			{
-		    TAlfTimedPoint point( 0.0f, 0.0f );
-		    point.SetStyle( EAlfTimedValueStyleDecelerate );
-
-		    TAlfRealPoint size = iViewport->Size().ValueNow();
-		    TAlfRealPoint pos = iViewport->Pos().ValueNow();
-
-		    point = TAlfTimedPoint( pos.iX, pos.iY );
-
-		    TAlfRealPoint target = iViewport->Pos().Target();
-
-		    switch ( iFadeStyle )
-		        {
-		        case EFadeRight: // Fade left to right
-		            point.SetTarget( TAlfRealPoint( target.iX + size.iX, target.iY ),
-		            						 KRadioIdleFadeOutDurationTime );
-		            break;
-		        case EFadeLeft: // Fade right to left
-		            point.SetTarget( TAlfRealPoint( target.iX - size.iX, target.iY ),
-		            			 KRadioIdleFadeOutDurationTime );
-		            break;
-		        default:
-		            break;
-		        }
-
-		    // Fade the radio idle out.
-		    TAlfTimedValue opacity( iViewport->Opacity().ValueNow() );
-		    opacity.SetStyle( EAlfTimedValueStyleAccelerate );
-		    opacity.SetTarget( 0.0f, KRadioIdleFadeOutDurationTime );
-
-		    iViewport->SetFlag( EAlfVisualFlagManualPosition );
-		    iViewport->SetPos( point );
-		    iViewport->SetOpacity( opacity );
-
-		    iFadeStyle = EFadeStyleNone;
-
-	        Env().Send( TAlfCustomEventCommand( ERadioIdleFadeOutCompleted, this,
-												reinterpret_cast<TInt>( iViewport ) ),
-												KRadioIdleFadeOutDurationTime );
-	        iViewport = NULL;
-	        ResetRadioIdleContent();
-			}
-		}
-
-	}
-
-// ---------------------------------------------------------------------------
-// CIRRadioIdle::StartRadioIdle
-// Launches radio idle.
-// ---------------------------------------------------------------------------
-//
-void CIRRadioIdle::StartRadioIdleL()
-    {
-    if( iRadioIdleState == EStopped || iRadioIdleState == ESuspended )
-	    {
-		Env().CancelCustomCommands( this );
-	    AddRadioIdleL( KMaxNumberOfRadioIdleItems );
-	    }
-    iRadioIdleState = ERunning;
-    iDelayedStartup = EFalse;
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CIRRadioIdle::SuspendRadioIdle
-// Suspends radio idle and starts it again after startup delay
-// ---------------------------------------------------------------------------
-//
-void CIRRadioIdle::SuspendRadioIdle()
-    {
-    Env().CancelCustomCommands( this );
-    if( iRadioIdleState == ERunning )
-	    {
-	    RadioIdleFadeOut( ETrue );
-	    }
-    iRadioIdleState = ESuspended;
-    iFading = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CIRRadioIdle::ShutdownRadioIdle
-// Stops radio idle. Radio idle is set to stopped state.
-// ---------------------------------------------------------------------------
-//
-void CIRRadioIdle::ShutdownRadioIdle()
-    {
-
-    Env().CancelCustomCommands( this );
-    if( iRadioIdleState == ERunning )
-	    {
-	    RadioIdleFadeOut();
-	    }
-    iRadioIdleState = EStopped;
-    iFading = EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::AddRadioIdleContentL
-// Adds radio idle item text to be used in the radio idle
-// ----------------------------------------------------------------------------
-//
-TInt CIRRadioIdle::AddRadioIdleContentL( const TDesC& aRadioIdleItemText )
-	{
-	if( !iRadioIdleItemArray )
-		{
-		// Array for radio idle items
-    	iRadioIdleItemArray = new( ELeave ) CDesCArrayFlat( KRadioIdleItemArrayGranularity );
-		}
-	iRadioIdleItemArray->AppendL( aRadioIdleItemText );
-	return iRadioIdleItemArray->Count() - Kone;
-
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::UpdateRadioIdleContent
-// Updates radio idle item text in specified index.
-// Note that the index of a particular radio idle item text is defined by
-// the order in which it has been added by AddRadioIdleContentL.
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::UpdateRadioIdleContent( const TDesC& aRadioIdleItemText, TInt aIndex )
-	{
-
-	if( aIndex >= 0 && aIndex < iRadioIdleItemArray->MdcaCount() )
-		{
-		TPtrC itemContent( iRadioIdleItemArray->MdcaPoint( aIndex ) );
-		if ( itemContent.Length() )
-			{ 
-			iRadioIdleItemArray->Delete( aIndex );
-			}
-		
-		TRAP_IGNORE( iRadioIdleItemArray->InsertL( aIndex, aRadioIdleItemText ) )
-		}
-
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::GetRandomRadioIdleContentL
-// Retrieves text from randomly chousen radio idle item
-// ----------------------------------------------------------------------------
-//
-HBufC* CIRRadioIdle::GetRandomRadioIdleContentL()
-	{
-
-	if( !iRadioIdleItemArray )
-		{
-		return NULL;
-		}
-	TInt count = iRadioIdleItemArray->MdcaCount();
-	if( count > KZero )
-    	{
-    	// Try to find a non-empty radio idle item from the array
-		TInt radioIdleItemIndex;
-    	for ( TInt i = 0; i < KTen*count; i++ )
-    		{
-    		radioIdleItemIndex = AlfUtil::RandomInt( KZero, count - Kone );
-    		TPtrC itemContent( iRadioIdleItemArray->MdcaPoint( radioIdleItemIndex ) );
-    		// Check if there really is some content
-    		if ( itemContent.Length() )
-    			{
-    			return itemContent.AllocL();
-    			}
-    		}
-    	}
-   	return NULL;
-
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::ResetRadioIdleContent
-// Removes all radio idle item texts
-// ----------------------------------------------------------------------------
-//
-void  CIRRadioIdle::ResetRadioIdleContent()
-	{
-	if( iRadioIdleItemArray )
-		{
-		if( iRadioIdleItemArray->Count() > KZero )
-			{
-			iRadioIdleItemArray->Reset();
-			iRadioIdleItemArray->Compress();
-			}
-		}
-
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::RadioIdleContentCount
-// Returns number of radio idle content items
-// ----------------------------------------------------------------------------
-//
-TInt CIRRadioIdle::RadioIdleContentCount() const
-	{
-
-	if( iRadioIdleItemArray )
-		{
-		return iRadioIdleItemArray->Count();
-		}
-	else
-		{
-		return KZero;
-		}
-
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::SetPrimaryColor
-// Sets primary color for the radio idle
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::SetPrimaryColor( TRgb aColor )
-	{
-	iRadioIdlePrimaryColor = aColor;
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::SetSecondaryColor
-// Sets secondary color for the radio idle
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::SetSecondaryColor( TRgb aColor )
-	{
-	iRadioIdleSecondaryColor = aColor;
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::SetBackgroundColor
-// Sets the background color of the radio idle
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::SetBackgroundColor( TRgb aColor )
-	{
-	iRadioIdleBackgroundColor = aColor;
-	if( iRadioIdleBackgroundGradientBrush )
-		{
-		iRadioIdleBackgroundGradientBrush->SetColor( aColor, KRadioIdleBackgroundOpacity );
-		}
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::Translate
-// Translates the visual object with passed arguments
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::Translate( CAlfTextVisual* aTextVisual, const TAlfTimedValue& aX, 
-															const TAlfTimedValue& aY )
-	{
-	if( aTextVisual )
-		{
-		TRAPD( err, aTextVisual->EnableTransformationL( ETrue ) );
-		if( err == KErrNone )
-			{
-			CAlfTransformation* visualTransformation = &( aTextVisual->Transformation() );
-			TAlfTimedValue x(aX);
-			x.SetStyle( EAlfTimedValueStyleLinear );
-
-			TAlfTimedValue y(aY);
-			y.SetStyle( EAlfTimedValueStyleLinear );
-
-			visualTransformation->Translate( x, y );
-			}
-		}
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::Scale
-// Scales the visual object with passed arguments
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::Scale( CAlfTextVisual* aTextVisual, const TAlfTimedValue& aX, 
-												const TAlfTimedValue& aY )
-	{
-	if( aTextVisual )
-		{
-		TRAPD( err, aTextVisual->EnableTransformationL( ETrue ) );
-		if( err == KErrNone )
-			{
-			CAlfTransformation* visualTransformation = &( aTextVisual->Transformation() );
-			visualTransformation->Scale( aX, aY );
-			}
-		}
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::LoadTextVisualIdentity
-// Removes all transformations of the visual object such as the scaling and translating.
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::LoadTextVisualIdentity( CAlfTextVisual* aTextVisual )
-	{
-	if( aTextVisual )
-		{
-		TRAPD( err, aTextVisual->EnableTransformationL( ETrue ) );
-		if( err == KErrNone )
-			{
-			CAlfTransformation* visualTransformation = &( aTextVisual->Transformation() );
-			visualTransformation->LoadIdentity();
-			}
-		}
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::UpdateLayout
-// Calculates display layout
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::UpdateLayout()
-	{
-	CAlfVisual* visual = FindTag( KRadioIdleAnchorTag );
-	if( visual )
-		{
-		CAlfAnchorLayout* radioIdleAnchor = static_cast<CAlfAnchorLayout*>( visual );
-		radioIdleAnchor->UpdateChildrenLayout( );
-		}
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::Refresh
-// Starts radio idle again without reseting radio idle items.
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::RefreshL()
-	{
-	if ( iRadioIdleState == ERunning )
-		{
-		RadioIdleFadeOut();
-		}
-	iRadioIdleState = ESuspended;
-    iFading = EFalse;
-	HandleCommandL( EStartup );
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::SetIdleFadeStyle
-// Sets fade style for radio idle
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::SetIdleFadeStyle( TRadioIdleFadeStyle aFadeStyle )
-	{
-	iFadeStyle = aFadeStyle;
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::SetModeChangeRequest
-// Sets request for mode change
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::SetModeChangeRequestL( TRadioIdleMode aRequestedMode )
-	{
-	iRadioIdleRequestedMode = aRequestedMode;
-	if( iRadioIdleRequestedMode == EBackgroundTextAndRadioIdleItems &&
-		Mode() == EOnlyBackgroundText )
-		{
-		InitializeRadioIdleItemsL( KMaxNumberOfRadioIdleItems );
-		AnimateRadioIdleItems();
-		SetMode( EBackgroundTextAndRadioIdleItems );
-		}
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::SetMode
-// Sets the radio idle mode
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::SetMode( TRadioIdleMode aMode )
-	{
-	iRadioIdleMode = aMode;
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::Mode
-// Retrieves the radio idle mode
-// ----------------------------------------------------------------------------
-//
-CIRRadioIdle::TRadioIdleMode CIRRadioIdle::Mode()
-	{
-	return iRadioIdleMode;
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::State
-// Retrieves the radio idle state
-// ----------------------------------------------------------------------------
-//
-CIRRadioIdle::TRadioIdleState CIRRadioIdle::State()
-	{
-	return iRadioIdleState;
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::Orientation
-// Return orientation of the display
-// ----------------------------------------------------------------------------
-//
-CIRRadioIdle::TOrientation CIRRadioIdle::Orientation()
-	{
-	return iOrientation;
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::Orientation
-// Set orientation of the display
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::SetOrientation( TOrientation aOrientation )
-	{
-	iOrientation = aOrientation;
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::OfferEventL
-// From CAlfControl, takes care of alfred event handling.
-// ----------------------------------------------------------------------------
-//
-TBool CIRRadioIdle::OfferEventL( const TAlfEvent& aEvent )
-	{
-
-	TBool isHandled = EFalse;
-	if( aEvent.IsCustomEvent() )
-		{
-		switch( aEvent.CustomParameter() )
-			{
-			case ERadioIdleItemTransformationEnd:
-				{
-				HandleRadioIdleItemTransformationEndEventL( aEvent );
-				isHandled = ETrue;
-				}
-				break;
-			case ERadioIdleBackgroundTextScrollEnd:
-				{
-				HandleBackgroundTextScrollEndEventL( aEvent );
-				isHandled = ETrue;
-				}
-				break;
-			case ERadioIdleChangeMode:
-				{
-				if( Mode() == EBackgroundTextAndRadioIdleItems )
-					{
-					SetModeChangeRequestL( EOnlyBackgroundText );
-					}
-				else
-					{
-					SetModeChangeRequestL( EBackgroundTextAndRadioIdleItems );
-					}
-				isHandled = ETrue;
-				}
-				break;
-			case ERadioIdleFadeOutCompleted:
-				{
-				reinterpret_cast<CAlfViewportLayout*>( aEvent.CustomEventData() )
-														->RemoveAndDestroyAllD();
-				iFading = EFalse;
-				
-				// Check if there was a startup command during fading out
-				if ( iDelayedStartup )
-					{
-					StartRadioIdleL();
-					}
-				isHandled = ETrue;
-				}
-				break;
-			default:
-			break;
-			}
-		}
-	return isHandled;
-
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::HandleRadioIdleItemTransformationEndEventL
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::HandleRadioIdleItemTransformationEndEventL( const TAlfEvent& aEvent )
-	{
-
-	iItemsTransformationEndEventCounter++;
-	if ( iRadioIdleRequestedMode == EOnlyBackgroundText || Mode() == EOnlyBackgroundText )
-		{
-		CAlfFlowLayout* radioIdleFlowLayout = static_cast<CAlfFlowLayout*> 
-						( iViewport->FindTag( KRadioIdleFlowLayoutTag ) );
-		if ( radioIdleFlowLayout )
-			{
-			TInt radioIdleItemIndex = aEvent.CustomEventData();
-	    	/*lint -save -e826 (Info -- Suspicious pointer-to-pointer conversion (area too small)*/
-			CAlfTextVisual* radioIdleItem = static_cast<CAlfTextVisual*> ( GetPointer( radioIdleFlowLayout->
-													Visual( radioIdleItemIndex ) ) );
-			/*lint -restore*/
-			radioIdleItem->SetOpacity( TAlfTimedValue( .0f ) );
-
-			if( iItemsTransformationEndEventCounter == radioIdleFlowLayout->Count() )
-				{
-				SetMode( EOnlyBackgroundText );
-				iItemsTransformationEndEventCounter = 0;
-				Env().Send( TAlfCustomEventCommand( ERadioIdleBackgroundTextScrollEnd, this ), KZero );
-				}
-			}
-		}
-	else
-		{
-		CAlfFlowLayout* radioIdleFlowLayout = static_cast<CAlfFlowLayout*> ( iViewport->
-												FindTag( KRadioIdleFlowLayoutTag ) );
-		if ( radioIdleFlowLayout )
-			{
-			HBufC* itemText = GetRandomRadioIdleContentL();
-			if( itemText )
-				{
-				CleanupStack::PushL( itemText );
-				TInt radioIdleItemIndex = aEvent.CustomEventData();
-		    	/*lint -save -e826 (Info -- Suspicious pointer-to-pointer conversion (area too small)*/
-				CAlfTextVisual* radioIdleItem = static_cast<CAlfTextVisual*> ( GetPointer(
-											 radioIdleFlowLayout->Visual( radioIdleItemIndex ) ) );
-				/*lint -restore*/
-				if ( iTextStyleIdArray.Count() > KZero )
-					{
-			    	// First hide the radio idle item
-					radioIdleItem->SetOpacity( TAlfTimedValue( .0f ) );
-					radioIdleItem->EnableTransformationL( ETrue );
-					CAlfTransformation* radioIdleItemTransformation = 
-											&( radioIdleItem->Transformation() );
-					radioIdleItemTransformation->LoadIdentity();
-
-					TInt randFontStyleIx = AlfUtil::RandomInt( KZero,  iTextStyleIdArray.Count() - Kone );
-					SetRadioIdleItemSettingsL( radioIdleItem, *itemText,
-										  iTextStyleIdArray[ randFontStyleIx ] );
-					SetRadioIdleItemAnimation( radioIdleItem );
-
-					if ( iRadioIdleRequestedMode != EOnlyBackgroundText )
-						{
-						if( iItemsTransformationEndEventCounter == radioIdleFlowLayout->Count() )
-							{
-							Env().Send( TAlfCustomEventCommand( ERadioIdleChangeMode, this ),
-									KMaxRadioIdleItemScrollDurationTime * KModeChangingFactor );
-							iItemsTransformationEndEventCounter = 0;
-							}
-						}
-					}
-				CleanupStack::PopAndDestroy( itemText );
-				}
-			}
-		}
-
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::HandleBackgroundTextScrollEndEventL
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::HandleBackgroundTextScrollEndEventL( const TAlfEvent& /*aEvent*/ )
-	{
-	if( iViewport )
-		{
-		CAlfTextVisual* backgroundText = static_cast<CAlfTextVisual*> ( iViewport->
-										FindTag( KRadioIdleBackgroundTextTag ) );
-		if( backgroundText )
-			{
-			backgroundText->SetOpacity( TAlfTimedValue( .0f ) );
-
-			if ( iRadioIdleRequestedMode == EOnlyBackgroundText && Mode() == 
-											 EBackgroundTextAndRadioIdleItems )
-				{
-				}
-			else
-				{
-				if( iRadioIdleRequestedMode == EOnlyBackgroundText &&
-						Mode() == EOnlyBackgroundText )
-					{
-					Env().CancelCustomCommands( this );
-					Env().Send( TAlfCustomEventCommand( ERadioIdleChangeMode, this ),
-							KRadioIdleBackgroundTextSideToSideTransitionDurationTime );
-					}
-				backgroundText->EnableTransformationL( ETrue );
-				CAlfTransformation* radioIdleItemTransformation = 
-										&( backgroundText->Transformation() );
-				radioIdleItemTransformation->LoadIdentity();
-				HBufC* itemText = GetRandomRadioIdleContentL();
-				if( itemText )
-					{
-					CleanupStack::PushL( itemText );
-					SetRadioIdleItemSettingsL( backgroundText, *itemText,
-									 iRadioIdleItemBackgroundTextStyleId );
-					CleanupStack::PopAndDestroy( itemText );
-					}
-				backgroundText->SetOpacity( TAlfTimedValue( KRadioIdleBackgroundTextOpacity ) );
-				SetScrollingToBackgroundText( backgroundText,
-								   KRadioIdleBackgroundTextSideToSideTransitionDurationTime,
-								   ERadioIdleBackgroundTextScrollEnd );
-				}
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// CIRRadioIdle::HandleCommandL
-// From MRadioIdleCommandObserver, takes care of radio idle command handling.
-// ---------------------------------------------------------------------------
-//
-void CIRRadioIdle::HandleCommandL( TRadioIdleCommand aCommand )
-    {
-    switch ( aCommand )
-	    {
-		case ESuspend:
-			SuspendRadioIdle();
-			break;
-		case EStartup:
-			{
-			// Check if radio idle can be started right away
-			if ( !iFading )
-				{
-				StartRadioIdleL();
-				}
-			else
-				{
-				iDelayedStartup = ETrue;
-				}
-			}	
-			break;
-		case EShutdown:
-			ShutdownRadioIdle();
-			break;
-		case ERefresh:
-			RefreshL();
-			break;
-		case EResetContent:
-			ResetRadioIdleContent();
-			break;
-		default:
-			break;
-		}
-    }
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::SetScrollingToBackgroundText
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::SetScrollingToBackgroundText( CAlfTextVisual* aVisual, TInt aTransitionTime,
-						 TRadioIdleCustomEvent aEventAfterScrollingEnd )
-	{
-	CAlfViewportLayout* radioIdle = static_cast<CAlfViewportLayout*> ( aVisual->Layout() );
-	TReal32 radioIdleItemWidth = aVisual->DisplayRect().Width();
-	TReal32 radioIdleWidth = radioIdle->Size().Target().iX;
-
-	TAlfTimedValue targetPositionX;
-	if( iBackgroundTextScrollDirection == EScrollRightToLeft  )
-	 	{
-		targetPositionX.SetValueNow(  -radioIdleItemWidth );
-		targetPositionX.SetTarget( radioIdleWidth, aTransitionTime );
-		iBackgroundTextScrollDirection = EScrollLeftToRight;
-	 	}
-	else
-	 	{
-		targetPositionX.SetValueNow( radioIdleWidth );
-		targetPositionX.SetTarget( -radioIdleItemWidth, aTransitionTime );
-		iBackgroundTextScrollDirection = EScrollRightToLeft;
-	 	}
-	Translate( aVisual, targetPositionX, TAlfTimedValue( -30.0f ) ); 
-	Env().Send( TAlfCustomEventCommand( aEventAfterScrollingEnd, this ),
-			    aTransitionTime + KRadioIdleBackgroundTextScrollInterval );
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::ScrollToLeft
-// Sets and starts scrolling animation to CAlfTextVisual.
-// The visual object is scrolled from current position to
-// left side of the display
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::ScrollToLeft( CAlfTextVisual* aVisual ) const
-	{
-	if( aVisual )
-		{
-		TReal32 visualWidth = aVisual->DisplayRect().Width();
-		TInt textWidth = aVisual->TextExtents().iWidth;
-		TReal32 scrollValue = visualWidth;
-		if( textWidth > visualWidth )
-			{
-			scrollValue += textWidth - visualWidth;
-			}
-		TAlfTimedPoint timedPosition = aVisual->Pos();
-		TAlfRealPoint positionZero( 0.0f, timedPosition.iY.ValueNow() );
-		TAlfRealPoint positionLeft( - ( scrollValue ), timedPosition.iY.ValueNow() );
-		aVisual->SetPos( positionZero );
-		aVisual->SetPos( positionLeft, KThousand );
-		}
-	}
-
-// ----------------------------------------------------------------------------
-// CIRRadioIdle::ScrollToRight
-// Sets and starts scrolling animation to CAlfTextVisual.
-// The visual object is scrolled from current position to
-// right side of the display
-// ----------------------------------------------------------------------------
-//
-void CIRRadioIdle::ScrollToRight( CAlfTextVisual* aVisual ) const
-	{
-	TReal32 visualWidth = aVisual->DisplayRect().Width();
-	TInt textWidth = aVisual->TextExtents().iWidth;
-	TReal32 scrollValue = visualWidth;
-	if( textWidth > visualWidth )
-		{
-		scrollValue += textWidth - visualWidth;
-		}
-	TAlfTimedPoint timedPosition = aVisual->Pos();
-	TAlfRealPoint positionZero( 0.0f, timedPosition.iY.ValueNow() );
-	TAlfRealPoint positionRight( scrollValue, timedPosition.iY.ValueNow() );
-	aVisual->SetPos( positionZero );
-	aVisual->SetPos( positionRight, KThousand );
-	}
-
-// ---------------------------------------------------------------------------
-// CIRRadioIdle::FadeIn
-// Sets fade-in animation to the CAlfVisual.
-// ---------------------------------------------------------------------------
-//
-void CIRRadioIdle::FadeIn( CAlfVisual* aVisual, TInt aTime, TReal32 aOpacity ) const
-	{
-	TAlfTimedValue opacity;
-	opacity.SetValueNow( 0.0f ); // immediate change
-	opacity.SetTarget( aOpacity, aTime ); // and smooth target
-	aVisual->SetOpacity( opacity );
-	}
-
-// ---------------------------------------------------------------------------
-// CIRRadioIdle::FadeOut
-// Sets fade-out animation to the CAlfVisual.
-// ---------------------------------------------------------------------------
-//
-void CIRRadioIdle::FadeOut( CAlfVisual* aVisual, TInt aTime, TReal32 aOpacity ) const
-	{
-	TAlfTimedValue opacity;
-	opacity.SetTarget( aOpacity, aTime );
-	aVisual->SetOpacity( opacity );
-	}
-
-// ---------------------------------------------------------------------------
-// CIRRadioIdle::GetPointer
-// Converts reference to a AlfVisual to pointer.
-// ---------------------------------------------------------------------------
-//
-CAlfVisual* CIRRadioIdle::GetPointer( CAlfVisual& aRef )
-	{
-	return &aRef;
-	}
-
-//  End of File
-