mmsharing/mmshui/src/musuizoomindicator.cpp
branchRCL_3
changeset 22 73a1feb507fb
parent 21 33a5d2bbf6fc
child 23 bc78a40cd63c
--- a/mmsharing/mmshui/src/musuizoomindicator.cpp	Thu Aug 19 09:51:39 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,483 +0,0 @@
-/*
-* Copyright (c) 2003, 2004 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:  Class for displaying icons in viewfinder view
-*
-*/
-
-
-// USER
-#include "musuizoomindicator.h"
-#include "muslogger.h"
-#include "musuizoomindicatorobserver.h"
-
-// SYSTEM
-#include <aknutils.h>
-#include <aknsutils.h>
-#include <data_caging_path_literals.hrh>
-#include <camcorder.mbg>
-#include <gulicon.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <AknsDrawUtils.h>
-
-
-
-// CONSTANTS
-const TInt KMusUiZoomDisableTime = 3000000;
-
-
-using namespace AknLayoutScalable_Apps;
-
-_LIT( KMyMbmFileName, "z:Camcorder.mbm");
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusUiZoomIndicator::CMusUiZoomIndicator(
-                        TInt aZoomMin,
-                        TInt aZoomMax,
-                        MMusUiZoomIndicatorObserver* aObserver )
-    : iZoomMin( aZoomMin ),
-      iZoomMax( aZoomMax ),
-      iZoomLevel( aZoomMin ),
-      iObserver( aObserver )
-    {
-    MUS_LOG( "mus: mus: [MUSUI ] -> CMusUiZoomIndicator::CMusUiZoomIndicator()" );
-    // pass
-    iDisableZoomTimer = NULL;
-    iTopMargin =  5;
-    iBottomMargin = 5;
-
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::CMusUiZoomIndicator()" );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusUiZoomIndicator* CMusUiZoomIndicator::NewLC(
-                        TInt aZoomMin,
-                        TInt aZoomMax,
-                        MMusUiZoomIndicatorObserver* aObserver )
-    {
-    MUS_LOG( "mus: [MUSUI ] -> CMusUiZoomIndicator::NewLC()" );
-    CMusUiZoomIndicator* self = new ( ELeave ) CMusUiZoomIndicator(
-                            aZoomMin,
-                            aZoomMax,
-                            aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::NewLC()" );
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusUiZoomIndicator* CMusUiZoomIndicator::NewL(
-                        TInt aZoomMin,
-                        TInt aZoomMax,
-                        MMusUiZoomIndicatorObserver* aObserver )
-    {
-    MUS_LOG( "mus: [MUSUI ] -> CMusUiZoomIndicator::NewL()" );
-    CMusUiZoomIndicator* self = NewLC( aZoomMin,
-                                       aZoomMax,
-                                       aObserver );
-    CleanupStack::Pop( self );
-
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::NewL()" );
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusUiZoomIndicator::ConstructL()
-    {
-    MUS_LOG( "mus: [MUSUI ] -> CMusUiZoomIndicator::ConstructL()" );
-
-    if( iZoomMin > iZoomMax )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    iIconElevator = new (ELeave) CEikImage();
-    iIconElevator->SetContainerWindowL( *this );
-
-    iIconMin = new (ELeave) CEikImage();
-    iIconMin->SetContainerWindowL( *this );
-
-    iIconMax = new (ELeave) CEikImage();
-    iIconMax->SetContainerWindowL( *this );
-
-    iIconBg = new (ELeave) CEikImage();
-    iIconBg->SetContainerWindowL( *this );
-
-    
-    ConstructImageL( iIconMin,
-                     AknsUtils::SkinInstance(),
-                     KAknsIIDQsnIconColors,
-                     EMbmCamcorderQgn_indi_cams_zoom_bg_min,
-                     EMbmCamcorderQgn_indi_cams_zoom_bg_min);
-
-    ConstructImageL( iIconMax,
-                     AknsUtils::SkinInstance(),
-                     KAknsIIDQsnIconColors,
-                     EMbmCamcorderQgn_indi_cams_zoom_bg_max,
-                     EMbmCamcorderQgn_indi_cams_zoom_bg_max);
-
-    ConstructImageL( iIconBg,
-                     AknsUtils::SkinInstance(),
-                     KAknsIIDQsnIconColors,
-                     EMbmCamcorderQgn_indi_cams_zoom_bg,
-                     EMbmCamcorderQgn_indi_cams_zoom_bg);
-
-    ConstructImageL( iIconElevator,
-                     AknsUtils::SkinInstance(),
-                     KAknsIIDQsnIconColors,
-                     EMbmCamcorderQgn_indi_cams_zoom_elevator,
-                     EMbmCamcorderQgn_indi_cams_zoom_elevator);
-
-
-    UpdateZoomLayout();
-
-    MUS_LOG( "mus: [MUSUI ]  <- CMusUiZoomIndicator::ConstructL()" );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusUiZoomIndicator::~CMusUiZoomIndicator()
-    {
-    MUS_LOG( "mus: [MUSUI ] -> CMusUiZoomIndicator::~CMusUiZoomIndicator()" );
-
-    DisableTimer();
-    delete iDisableZoomTimer;
-
-    delete iIconElevator;
-    delete iIconMin;
-    delete iIconMax;
-    delete iIconBg;
-
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::~CMusUiZoomIndicator()" );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusUiZoomIndicator::SetZoomLevel( TInt aZoomLevel )
-    {
-    MUS_LOG1( "mus: [MUSUI ] -> CMusUiZoomIndicator::SetZoomLevel( %d ) ",
-              aZoomLevel );
-    if( aZoomLevel >= iZoomMin && aZoomLevel <= iZoomMax )
-        {
-        iZoomLevel = aZoomLevel;
-        }
-    DisableTimer();
-    UpdateZoomLayout();
-    EnableTimer();
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::SetZoomLevel()" );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMusUiZoomIndicator::GetZoomLevel()
-    {
-    MUS_LOG( "mus: [MUSUI ] -> CMusUiZoomIndicator::GetZoomLevel()" );
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::GetZoomLevel()" );
-    return iZoomLevel;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusUiZoomIndicator::SetZoomMin( TInt aZoomMin )
-    {
-    MUS_LOG1( "mus: [MUSUI ] -> CMusUiZoomIndicator::SetZoomMin( %d ) ", aZoomMin );
-    if( aZoomMin >= 0 && aZoomMin < iZoomMax )
-        {
-        iZoomMin = aZoomMin;
-        }
-    DisableTimer();
-    UpdateZoomLayout();
-    EnableTimer();
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::SetZoomMin()" );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusUiZoomIndicator::SetZoomMax( TInt aZoomMax )
-    {
-    MUS_LOG1( "mus: [MUSUI ] -> CMusUiZoomIndicator::SetZoomMax( %d ) ", aZoomMax );
-    if( aZoomMax >= iZoomMin )
-        {
-        iZoomMax = aZoomMax;
-        }
-    DisableTimer();
-    UpdateZoomLayout();
-    EnableTimer();
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::SetZoomMax()" );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusUiZoomIndicator::SetFullRect( const TRect aRect  )
-    {
-    iFullRect = aRect;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusUiZoomIndicator::SizeChanged()
-    {
-    MUS_LOG( "mus: [MUSUI ] -> CMusUiZoomIndicator::SizeChanged()" );
-    UpdateZoomLayout();
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::SizeChanged()" );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusUiZoomIndicator::Draw( const TRect& aRect ) const
-    {
-
-    CWindowGc& gc = SystemGc();
-
-    TRect rect( 0,0, iFullRect.Width(), iFullRect.Height() );
-    //TRect rect( iFullRect.Width()-20, iFullRect.iTl.iY, iFullRect.iBr.iX, iFullRect.iBr.iY ); //TRect( 40,0,380,382 ) );
-
-/*
-    AknsUtils::RegisterControlPosition( this, TPoint( iFullRect.Width()-20, iFullRect.iTl.iY ) );
- //   gc.Clear( aRect );
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
-    if(!AknsDrawUtils::Background( skin, cc,this,gc,rect,KAknsDrawParamDefault ))
-        {
-*/        
-        MUS_LOG( "mus: [MUSUI ]     Skin not valid or not found" );
-        gc.SetBrushColor( iEikonEnv->ControlColor( EColorWindowBackground, *this ) );
-        gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-        gc.Clear( aRect );
-//        }    
-  
-}
-
-
-// -----------------------------------------------------------------------------
-// Draw all icons and texts to given graphics context.
-// -----------------------------------------------------------------------------
-//
-void CMusUiZoomIndicator::DrawIcons( const TRect& /*aRect*/ )
-    {
-    MUS_LOG( "mus: [MUSUI ] -> CMusUiZoomIndicator::DrawIcons()" );
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::DrawIcons()" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// Draw all icons and texts to given graphics context.
-// -----------------------------------------------------------------------------
-//
-void CMusUiZoomIndicator::UpdateZoomLayout()
-    {
-    MUS_LOG( "mus: [MUSUI ] -> CMusUiZoomIndicator::UpdateZoomLayout()" );
-    
-    TSize sz = iIconBg->MinimumSize();
-    
-    TRect rect = Rect();
-    
-    // TODO: Remove all magic constants!
-    AknLayoutUtils::LayoutImage(iIconMax, Rect(), 0, 0, 0, 0, 0, 20, 20 );
-    AknLayoutUtils::LayoutImage(iIconMin, Rect(), 0, 0, 68, 0, 0, 20, 20 );
-    AknLayoutUtils::LayoutImage(iIconBg, Rect(), 0, 0, 20, 0, 0, 20, 48 );
-    
-    // 20 - 68
-    iScaleStep = (  48 << 8 ) /
-                 ( ( iZoomMax - iZoomMin ) );
-    iScaleY = ( 58 ) -
-                            ( ( iScaleStep * iZoomLevel ) >> 8 );
-    
-    
-    AknLayoutUtils::LayoutImage(iIconElevator, Rect(), 0, 0, iScaleY, 0, 0, 20, 20 );
-    
-    DrawNow();
-    
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::UpdateZoomLayout()" );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMusUiZoomIndicator::CountComponentControls() const
-    {
-    return 4; //iIconElevator ? 1 : 0; // return nbr of controls inside this container
-    //return 0; // return nbr of controls inside this container
-    }
-
-
-// --------------------------------------------------------------------------
-// Called by framework to retrieve the control specified by index.
-// --------------------------------------------------------------------------
-//
-CCoeControl* CMusUiZoomIndicator::ComponentControl( TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        
-        case 0:
-            return iIconMin;
-        case 1:
-            return iIconMax;
-        case 2:
-            return iIconBg;
-        case 3:
-            return iIconElevator;
-        
-        default:
-            return NULL;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void  CMusUiZoomIndicator::ConstructImageL( CEikImage* aImage,
-                                         MAknsSkinInstance* aSkin,
-                                         const TAknsItemID& aId,
-                                         TInt aBitmapId,
-                                         TInt aMaskId )
-
-    {
-    MUS_LOG( "mus: [MUSUI ] -> CMusUiZoomIndicator::ConstructIconL()" );
-
-    CFbsBitmap* bitmap = NULL;
-    CFbsBitmap* mask = NULL;
-
-    TParse parse;
-    parse.Set( KMyMbmFileName, &KDC_APP_RESOURCE_DIR, NULL );
-
-    AknsUtils::CreateIconL(aSkin,
-                           aId,
-                           bitmap,
-                           mask,
-                           parse.FullName(),
-                           aBitmapId,
-                           aMaskId);
-
-    aImage->SetPicture(bitmap, mask); // Owership transferred to CEikImage
-
-
-
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::ConstructIconL()" );
-
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// Callback for disable zoom indicator.
-// -----------------------------------------------------------------------------
-//
-TInt CMusUiZoomIndicator::DisableZoomIndicator( TAny* aThis )
-    {
-    MUS_LOG( "mus: [MUSUI ] -> CMusUiZoomIndicator::DisableZoomIndicator()" );
-    CMusUiZoomIndicator* indicator =
-                            static_cast< CMusUiZoomIndicator* > ( aThis );
-    indicator->DisableTimer();
-    if( indicator->iObserver )
-        {
-        indicator->iObserver->DisableZoomIndicator();
-        }
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::DisableZoomIndicator()" );
-    return KErrNone;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusUiZoomIndicator::DisableTimer()
-    {
-    MUS_LOG( "mus: [MUSUI ] -> CMusUiZoomIndicator::DisableTimer()" );
-    if ( iDisableZoomTimer )
-        {
-        if ( iDisableZoomTimer->IsActive() )
-            {
-            iDisableZoomTimer->Cancel();
-            }
-        }
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::DisableTimer()" );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusUiZoomIndicator::EnableTimer()
-    {
-    MUS_LOG( "mus: [MUSUI ] -> CMusUiZoomIndicator::EnableTimer()" );
-
-    if ( !iDisableZoomTimer )
-        {
-        TRAP_IGNORE( iDisableZoomTimer = CPeriodic::NewL( CActive::EPriorityStandard ) );
-        }
-    else
-        {
-        DisableTimer();
-        }
-
-    // Start disable timer; callback triggers exit.
-    iDisableZoomTimer->Start( KMusUiZoomDisableTime,
-                             KMusUiZoomDisableTime,
-                             TCallBack( DisableZoomIndicator, this ) );
-    MUS_LOG( "mus: [MUSUI ] <- CMusUiZoomIndicator::EnableTimer()" );
-    }
-    
-
-// End of File
-
-
-