--- a/camerauis/cameraapp/generic/src/CamDecorator.cpp Tue Feb 02 00:01:39 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Camera UI decorator*
-*/
-
-
-// INCLUDE FILES
-#include <gdi.h>
-#include <eikenv.h>
-#include <barsread.h>
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include <AknsDrawUtils.h>
-#include <layoutmetadata.cdl.h>
-#include <aknlayoutscalable_apps.cdl.h>
-
-#include "Cam.hrh"
-#include "CamAppController.h"
-#include "CamAppUi.h"
-#include "CamObservable.h"
-#include "CamRecordingIconDecoration.h"
-#include "CamDecorator.h"
-#include "camlogging.h"
-#include "CameraUiConfigManager.h"
-#include "CamUtility.h"
-
-// -----------------------------------------------------------------------------
-// CCamDecorator::CCamDecorator()
-// Default constructor
-// -----------------------------------------------------------------------------
-//
-CCamDecorator::CCamDecorator( CCamAppController& aController )
- : iController( aController )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CCamDecorator::NewL
-// Factory method to safely create a new instance
-// -----------------------------------------------------------------------------
-//
-CCamDecorator*
-CCamDecorator::NewL( CCamAppController& aController,
- TInt aResourceId,
- MCamObserver* aObserver /*=NULL*/ )
- {
- CCamDecorator* me =
- new (ELeave) CCamDecorator( aController );
-
- CleanupStack::PushL( me );
- me->ConstructL( aResourceId, aObserver );
- CleanupStack::Pop( me );
-
- return me;
- }
-
-// -----------------------------------------------------------------------------
-// CCamDecorator::ConstructL
-// Initializes a new instance
-// -----------------------------------------------------------------------------
-//
-void CCamDecorator::ConstructL(TInt aResourceId, MCamObserver* aObserver)
- {
- if ( aResourceId )
- {
- iPossibleObserver = aObserver;
-
- TResourceReader reader;
- CEikonEnv::Static()->CreateResourceReaderLC( reader, aResourceId );
-
- TInt numDecorations = reader.ReadInt16();
-
- TInt currentDecoration = 0;
- TScreenDecorationType decorationType;
- for ( currentDecoration = 0; currentDecoration < numDecorations; currentDecoration++ )
- {
- decorationType = static_cast<TScreenDecorationType>(reader.ReadInt16());
-
- switch(decorationType)
- {
- case ECamScreenDecorationBlendedBackground:
- CreateBlendedBackgroundL(reader);
- break;
-
- case ECamScreenDecorationDVFBlanker:
- CreateDVFBlankerL(reader);
- break;
-
- case ECamScreenDecorationRecordingIcon:
- CreateRecordingIconL(reader);
- break;
-
- default:
- break;
- }
- }
-
- CleanupStack::PopAndDestroy();
-
- }
- else
- {
- iDrawNothing = ETrue;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCamDecorator::~CCamDecorator()
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CCamDecorator::~CCamDecorator()
- {
- PRINT( _L("Camera => ~CCamDecorator") );
- iDVFBlankers.Reset();
- iRecordingIcons.ResetAndDestroy();
- PRINT( _L("Camera <= ~CCamDecorator") );
- }
-
-// -----------------------------------------------------------------------------
-// CCamDecorator::Draw
-// Draws all the decorations
-// -----------------------------------------------------------------------------
-//
-void CCamDecorator::Draw( CBitmapContext& aGc, const TRect& aDrawRect, const TBool aForceBlankers )
- {
- if ( !iDrawNothing )
- {
- TInt element = 0;
- TInt count = 0;
-
- // Draw the blankers
- count = iDVFBlankers.Count();
-
- if ( count > 0 )
- {
- TRgb blankerColour( KRgbWhite );
- CCamAppUi* appUi = static_cast<CCamAppUi*>( CEikonEnv::Static()->AppUi() );
- if ( appUi && appUi->IsDirectViewfinderActive())
- {
- blankerColour = KRgbWhite;
-
- aGc.SetPenStyle( CGraphicsContext::ENullPen );
- aGc.SetBrushColor( blankerColour );
- aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-
- for ( element = 0; element < count; element++ )
- {
- aGc.DrawRect( iDVFBlankers[element] );
- }
-
- aGc.Reset();
- }
- }
-
- if ( aForceBlankers )
- {
- count = iDVFBlankers.Count();
- if ( count > 0 )
- {
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- CWindowGc& gc = CCoeEnv::Static()->SystemGc();
- for ( element = 0; element < count; element++ )
- {
- AknsDrawUtils::Background( skin, NULL, gc, iDVFBlankers[element] );
- }
- }
- }
-
- // Draw the recording icons
- count = iRecordingIcons.Count();
- for ( element = 0; element < count; element++ )
- {
- iRecordingIcons[element]->Draw( aGc, aDrawRect );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCamDecorator::CreateBlendedBackgroundL
-// Create a new blended background decoration based on resource
-// -----------------------------------------------------------------------------
-//
-void CCamDecorator::CreateBlendedBackgroundL(TResourceReader& aResourceReader)
- {
- PRINT( _L("Camera => CCamDecorator::CreateBlendedBackgroundL") );
- aResourceReader.ReadInt16(); // tl_x
- aResourceReader.ReadInt16(); // tl_y
- aResourceReader.ReadInt16(); // width
-
- /*
- CBlendedBackground* blendedBackground = CBlendedBackground::NewL( TPoint(tl_x, tl_y), width, KBlendedBackgroundDisplayMode );
-
- CleanupStack::PushL( blendedBackground );
-
- User::LeaveIfError(iBlendedBackgrounds.Append(blendedBackground));
-
- CleanupStack::Pop( blendedBackground );
- */
-
- PRINT( _L("Camera <= CCamDecorator::CreateBlendedBackgroundL") );
- }
-
-// -----------------------------------------------------------------------------
-// CCamDecorator::CreateDVFBlankerL
-// Create a new dvf blanker decoration based on resource
-// -----------------------------------------------------------------------------
-//
-void CCamDecorator::CreateDVFBlankerL(TResourceReader& aResourceReader)
- {
- PRINT( _L("Camera => CCamDecorator::CreateDVFBlankerL") );
- TInt tl_x = aResourceReader.ReadInt16();
- TInt tl_y = aResourceReader.ReadInt16();
- TInt width = aResourceReader.ReadInt16();
- TInt height = aResourceReader.ReadInt16();
-
- TRect blanker(TPoint(tl_x, tl_y), TSize(width, height));
-
- User::LeaveIfError(iDVFBlankers.Append(blanker));
- PRINT( _L("Camera <= CCamDecorator::CreateDVFBlankerL") );
- }
-
-// -----------------------------------------------------------------------------
-// CCamDecorator::CreateRecordingIconL
-// Create a new recording icon decoration based on resource
-// -----------------------------------------------------------------------------
-//
-void CCamDecorator::CreateRecordingIconL(TResourceReader& /* aResourceReader */)
- {
- PRINT( _L("Camera => CCamDecorator::CreateRecordingIconL") );
-
- TRect screenRect;
- if ( Layout_Meta_Data::IsLandscapeOrientation() || CamUtility::IsNhdDevice() )
- {
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screenRect );
- }
- else
- {
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, screenRect );
- }
-
- TAknLayoutRect progressPaneLayout;
- TAknLayoutRect recIconLayout;
- TInt vari = Layout_Meta_Data::IsLandscapeOrientation();
- if ( CamUtility::IsNhdDevice() )
- {
- progressPaneLayout.LayoutRect( screenRect,
- AknLayoutScalable_Apps::vid4_progress_pane( vari ) );
-
- recIconLayout.LayoutRect( progressPaneLayout.Rect(),
- AknLayoutScalable_Apps::vid4_progress_pane_g3( !vari ) );
- }
- else
- {
- if ( Layout_Meta_Data::IsLandscapeOrientation() )
- {
- progressPaneLayout.LayoutRect( screenRect,
- AknLayoutScalable_Apps::vid6_indi_pane( !vari ) );
- recIconLayout.LayoutRect( progressPaneLayout.Rect(),
- AknLayoutScalable_Apps::vid6_indi_pane_g5( vari ) );
-
- }
- else
- {
- progressPaneLayout.LayoutRect( screenRect,
- AknLayoutScalable_Apps::vid6_indi_pane( 3 ) );
- recIconLayout.LayoutRect( progressPaneLayout.Rect(),
- AknLayoutScalable_Apps::vid6_indi_pane_g5( 2 ) );
- }
- }
-
- TRect location = recIconLayout.Rect();
-
- CCamRecordingIconDecoration* recIcon =
- CCamRecordingIconDecoration::NewL( location, iController );
-
- CleanupStack::PushL( recIcon );
-
- if ( iPossibleObserver )
- {
- recIcon->RegisterObserverL(iPossibleObserver);
- }
-
- User::LeaveIfError(iRecordingIcons.Append(recIcon));
-
- CleanupStack::Pop( recIcon );
- PRINT( _L("Camera <= CCamDecorator::CreateRecordingIconL") );
- }
-
-// End of File