diff -r 000000000000 -r 5f000ab63145 phoneuis/dialer/src/cdialervideocontainer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneuis/dialer/src/cdialervideocontainer.cpp Mon Jan 18 20:18:27 2010 +0200 @@ -0,0 +1,189 @@ +/* +* 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: Manager for video keypad +* +*/ + + +// INCLUDE FILES +#include +#include +#include +#include +#include // CEikImage +#include // TResourceReader +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "cdialervideocontainer.h" +#include "dialercommon.h" + + +// CONSTS +const TInt KNumberOfButtons = 0; // Number of command buttons in container. +const TInt KVideoControlCount = KNumberOfButtons + 1; // = Video window + + +// ========================= MEMBER FUNCTIONS ================================ + +// --------------------------------------------------------------------------- +// CDialerVideoContainer::NewL +// Symbian OS two phased constructor +// +// --------------------------------------------------------------------------- +// +CDialerVideoContainer* CDialerVideoContainer::NewL( + const CCoeControl& aContainer, + CCoeControl& aVideoWindow ) + { + CDialerVideoContainer* self = + new( ELeave )CDialerVideoContainer( aContainer, aVideoWindow ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); // self + return self; + } + +// --------------------------------------------------------------------------- +// CDialerVideoContainer::ConstructL +// Symbian OS two phased constructor +// +// --------------------------------------------------------------------------- +// +void CDialerVideoContainer::ConstructL() + { + BaseConstructL(); + + iVideoWindow.SetContainerWindowL( *this ); + iVideoWindow.SetParent( this ); + iVideoWindow.SetMopParent( this ); + + ActivateL(); + } + + +// Constructor +CDialerVideoContainer::CDialerVideoContainer( + const CCoeControl& aContainer, + CCoeControl& aVideoWindow ) + : CDialerContainerBase ( const_cast(aContainer) ), + iVideoWindow ( aVideoWindow ) + { + // Empty. + } + +// Destructor +CDialerVideoContainer::~CDialerVideoContainer() + { + // Empty. + } + + +// Methods from base class + +// +// Methods from CDialerContainerBase +// + +// --------------------------------------------------------------------------- +// CDialerVideoContainer::SetFocus +// +// --------------------------------------------------------------------------- +// +void CDialerVideoContainer::SetFocus( TBool aFocus, + TDrawNow /*aDrawNow*/ ) + { + iVideoWindow.SetFocus( aFocus ); + } + + +// --------------------------------------------------------------------------- +// CDialerVideoContainer::SetVariety +// Set variety according to status +// +// --------------------------------------------------------------------------- +// +void CDialerVideoContainer::SetVariety() + { + if ( Layout_Meta_Data::IsLandscapeOrientation() ) + { + iVariety = EVideoVarietyLandscape; + } + else + { + iVariety = EVideoVarietyPortrait; + } + } + +// --------------------------------------------------------------------------- +// CDialerVideoContainer::SetLayout +// +// --------------------------------------------------------------------------- +// +void CDialerVideoContainer::SetLayout() + { + iVideoWindow.SetRect( Rect() ); + } + + +// --------------------------------------------------------------------------- +// CDialerKeyPadContainer::CountComponentControls +// +// --------------------------------------------------------------------------- +// +TInt CDialerVideoContainer::CountComponentControls() const + { + return KVideoControlCount; + } + +// --------------------------------------------------------------------------- +// CDialerVideoContainer::ComponentControl +// +// --------------------------------------------------------------------------- +// +CCoeControl* CDialerVideoContainer::ComponentControl( TInt aIndex ) const + { + __ASSERT_DEBUG( aIndex < KVideoControlCount, + User::Panic(_L("Dialer"), KErrArgument) ); + return &iVideoWindow; + } + +// --------------------------------------------------------------------------- +// CDialerVideoContainer::Draw +// +// --------------------------------------------------------------------------- +// +void CDialerVideoContainer::Draw( const TRect& /*aRect */) const + { + CWindowGc& gc = SystemGc( ); + gc.SetBrushColor( AKN_LAF_COLOR( 0 /** White - get from layout */ )); + TRect rect = Rect(); + + // Draw the skin background of the parent + AknsDrawUtils::DrawBackground( AknsUtils::SkinInstance(), + AknsDrawUtils::ControlContextOfParent(this), this, gc, + rect.iTl, rect, KAknsDrawParamDefault ); + + gc.SetBrushStyle( CGraphicsContext::ENullBrush ); + } + +// End of File